相對於C++的繼承編寫,Python更簡潔,而且效率也是很高的,下面寫一個簡單Python的繼承範例。
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. 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:%
Member.tell(self)
s = Student('Tom', 20, 80) t = Teacher('Mrs.Huang', 30, 50000)
mem.tell()
運作效果:
[root@localhost hhl]
Member init:Tom
Student init:Tom
Name:Tom,Age:20 Marks :80 Name:Mrs.Huang,Age:30 Salary:50000 我們同樣寫出相同效果的C++範例:#includeclass Member { public: Member(char *n, int char name[10]; int age; }; Member::Member(char *n, int a) { memcpy(name, n, sizeof(name));
cout
}
void Member::tell()
{
cout
}
學生(char *n,int a,int m);
voidtell_s();
私人:
a, int m):成員(n, a)
{
marks = m;
cout
{
會員::tell();
cout
}
教師(char *n, int a, int s);
voidtell_t();
私人:
int (n, a)
{
工資= s;
cout} tell
會員::tell();
cout
}
int main(void)
{
("黃老師", 30, 50000); s.tell_s(); t.tell :[root@localhost hhl] 會員init:Tom 學生init:Tom 會員init:黃老師 老師init:黃老師姓名:湯姆,年齡:20,成績:80 者的運行效果是一樣的,python更簡潔一些。 。 。但
以上就是Python類別與繼承講解的內容,更多相關內容請關注PHP中文網(www.php.cn)!