C++ での継承記述と比較して、Python はより簡潔で効率的です。 ここでは、簡単な Python 継承の例を示します。 EClass メンバー:
DEF __init __ (Self, name, Age):
Self.name = 名前
Self.age = 年齢
Print 'Member init:%s'%self.name
DEF TELL ( Self ): in Print '名前:%S, 年齢:%D'%(Self.name, Self.age),
クラス生徒 (メンバー):
DEF __init __ (Self, Name, Age, Marks): _ Member .__ init __ (自分、名前、年齢)
Self.marks = マーク
PRINT 'Student Init:%s'%Self.name
defte (seld):
member.tell (self)
"メンバー.__ init __(self、name、age) %d'%seld.salarly s = 生徒('トム', 20, 80) t = 教師('黄夫人', 30, 50000) メンバー = [s, t] 私用メンバー内: mem.tell()実行効果: [root@localhost hhl] メンバー初期化:Tom 生徒初期化:Tom メンバー初期化:Mrs.Huang 教師初期化:Mrs. Huang 名前:Tom、年齢: 20 得点:80 名前:Mrs.Huang、年齢:30 給与:50000 同じ効果を持つ C++ の例も書きます。 #include
cout<<"名前:"<
}
class Student:public Member
{
public:
Student(char *n, int a, int m);
void tell_s();
プライベート:
int マーク;
};
Student::Student(char *n, int a, int m):Member(n, a)
{
marks = m;
cout<<"Student init:"< } void Student::tell_s() { メンバー::tell(); cout<<"マーク:"<<マーク< } class Teacher:public Member { public: Teacher(char *n, int a, int s); void tell_t(); プライベート: int 給与; }; 教師::教師(char *n, int a, int s):メンバー(n, a) { 給与 = s; cout<<"Teacher init:"< } void Teacher::tell_t() { メンバー::tell(); cout<<"給与:"<<給与< } int main(void) { 生徒 s("トム", 20, 80); 先生 t(「黄夫人」、30、50000); s.tell_s(); t.tell_t(); 0 を返す; } 运行效果: [root@localhost hhl] メンバー初期:トム 生徒初期:トム メンバー初期:黄さん 教師初期:Mrs .Huang 名前:トム、年齢: 20、マーク: 80 名前: Mrs.Huang、年齢: 30、給与: 50000 この二人の実行結果は同等ですが、Python の方が優れています。。讲解内容,更多相关内容请关注PHP中文网(www.php.cn)!