ホームページ  >  記事  >  バックエンド開発  >  Python クラスと継承の説明

Python クラスと継承の説明

黄舟
黄舟オリジナル
2016-12-24 17:18:201316ブラウズ

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

namespace std を使用

{ public:

Member(char *n, int a)

private:

char name [10];

int age;

Member::Member(char *n, int a)

{

memcpy(name, n, sizeof(name));

cout<< init:" <

}

void Member::tell()

{

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)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。