日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python中類的繼承代碼實(shí)例

系統(tǒng) 1982 0

相對于C++的繼承編寫,Python更簡潔,而且效率也是很高的,下面編寫一個簡單Python的繼承例子。

復(fù)制代碼 代碼如下:

#!/usr/bin/python??
#filename: pyclass.py??
?
class Member:??
??????? def __init__(self, name, age):??
??????????????? self.name = name??
??????????????? self.age = age??
??????????????? print 'Member init:%s' % self.name??
??????? def tell(self):??
??????????????? print 'Name:%s,Age:%d' % (self.name, self.age),??
?
class Student(Member):??
??????? def __init__(self, name, age, marks):??
??????????????? Member.__init__(self, name, age)??
??????????????? self.marks = marks??
??????????????? print 'Student init:%s' % self.name??
??????? def tell(self):??
??????????????? Member.tell(self)??
??????????????? print 'Marks:%d' % self.marks??
?
class Teacher(Member):??
??????? def __init__(self, name, age, salary):??
??????????????? Member.__init__(self, name, age)??
??????????????? self.salary = salary??
??????????????? print 'Teacher init:%s' % self.name??
??????? def tell(self):??
??????????????? Member.tell(self)??
??????????????? print 'Salary:%d' % self.salary??
?
s = Student('Tom', 20, 80)??
t = Teacher('Mrs.Huang', 30, 50000)??
?
members = [s, t]??
for mem in members:??
??????? mem.tell()?

運(yùn)行效果:

復(fù)制代碼 代碼如下:

[root@localhost hhl]# python pyclass.py???
Member init:Tom??
Student init:Tom??
Member init:Mrs.Huang??
Teacher init:Mrs.Huang??
Name:Tom,Age:20 Marks:80??
Name:Mrs.Huang,Age:30 Salary:50000?

我們同樣編寫同樣效果的C++例子:

復(fù)制代碼 代碼如下:

//filename: class.cpp??
#include ??
#include ??
using namespace std;??
?
class Member??
{??
public:??
??? Member(char *n, int a);??
??? void tell();??
private:??
??? char name[10];??
??? int age;??
};??
?
Member::Member(char *n, int a)??
{??
??? memcpy(name, n, sizeof(name));??
??? age = a;??
??? cout<<"Member init:"< <
}??
?
void Member::tell()??
{??
??? cout<<"Name:"< <<","<<"Age:"< <<",";??
}??
?
class Student:public Member??
{??
public:??
??? Student(char *n, int a, int m);??
??? void tell_s();??
private:??
??? int marks;??
};??
?
Student::Student(char *n, int a, int m):Member(n, a)??
{??
??? marks = m;??
??? cout<<"Student init:"< <
}??
?
void Student::tell_s()??
{??
??? Member::tell();??
??? cout<<"Marks:"< <
}??
?
class Teacher:public Member??
{??
public:??
??? Teacher(char *n, int a, int s);??
??? void tell_t();??
private:??
??? int salary;??
};??
?
Teacher::Teacher(char *n, int a, int s):Member(n, a)??
{??
??? salary = s;??
??? cout<<"Teacher init:"< <
}??
?
void Teacher::tell_t()??
{??
??? Member::tell();??
??? cout<<"Salary:"< <
}??
?
int main(void)??
{??
??? Student s("Tom", 20, 80);??
??? Teacher t("Mrs.Huang", 30, 50000);??
??????
??? s.tell_s();??
??? t.tell_t();??
?
??? return 0;??
}?

運(yùn)行效果:

復(fù)制代碼 代碼如下:

[root@localhost hhl]# ./class???
Member init:Tom??
Student init:Tom??
Member init:Mrs.Huang??
Teacher init:Mrs.Huang??
Name:Tom,Age:20,Marks:80??
Name:Mrs.Huang,Age:30,Salary:50000?

這兩者的運(yùn)行效果是一樣的,但是python更簡潔些。。。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 华容县| 囊谦县| 甘肃省| 上高县| 岑巩县| 康定县| 岫岩| 怀宁县| 宜宾县| 德江县| 元氏县| 龙陵县| 衡南县| 惠水县| 浠水县| 信丰县| 万全县| 铅山县| 友谊县| 唐河县| 吐鲁番市| 闽清县| 九寨沟县| 肥西县| 蒙城县| 万源市| 彩票| 平山县| 宜丰县| 潜山县| 新沂市| 唐河县| 平顺县| 武安市| 庆安县| 永平县| 淮安市| 浪卡子县| 新龙县| 嵊泗县| 南丹县|