Maison >développement back-end >Tutoriel Python >Classes Python et héritage expliqués
Par rapport à l'écriture d'héritage en C, Python est plus concis et efficace. Voici un exemple simple d'héritage Python.
Membre de la classe :
def __init__(self, name, age) :
self.name = nom
self.age = age
print 'Init membre:%s' % self.name
def tell(self):
print 'Name:%s,Age:%d' %(self.name , self.age),
élève de la classe (membre) :
def __init__(soi, nom, âge, notes) :
Member.__init__(soi, nom, age)
self.marks = marks
print 'Student init:%s' % self.name
def tell(self):
Membre .tell(self)
print 'Marks:%d' % self.marks
class Teacher(Membre):
def __init__(self, nom, âge, salaire ):
Member.__init__(self, name, age)
self.salary = salaire
print 'Teacher init:%s' % self.name
def tell(self):
Member.tell(self)
print 'Salary:%d' % self.salary
s = Student('Tom ', 20, 80)
t = Enseignant('Mme Huang', 30, 50000)
membres = [s, t]
pour moi dans les membres :
mem.tell()
Effet en cours d'exécution :
[root@localhost hhl]
Init membre : Tom
Init étudiant :Tom
Init membre:MmeHuang
Init enseignant:MmeHuang
Nom:Tom,Âge:20 Notes:80
Nom: Mme Huang, Âge : 30 ans Salaire : 50 000
Nous écrivons également un exemple en C avec le même effet :
#include
#include < ;iostream> ;
using namespace std;
class Member
{
void tell();
nom du personnage[10]; int age; }; Membre::Membre(char *n, int a) { memcpy(name, n, sizeof(name)); age = a cout<<"Init membre :"< cout<<"Nom :"< } class Étudiant : public Membre { public : Étudiant (char *n, int a, int m ); void tell_s(); privé : marques int ; } ; Étudiant::Étudiant(char *n, int a, int m):Membre(n, a) { marques = m; cout<<"Init étudiant :"< } void Student::tell_s() { Member::tell(); cout<<"Marques :"< } prof de classe : public Membre { public : Professeur(char *n, int a, int s ); void tell_t(); privé : salaire int ; } ; Professeur ::Professeur(char *n, int a, int s):Membre(n, a) { salaire = s ; cout<<"Init enseignant :"< } void Teacher::tell_t() { Membre::tell(); cout<<"Salaire :"< } int main(void) { Étudiant s("Tom", 20, 80); Professeur t("Mme Huang", 30, 50000); s.tell_s(); t.tell_t(); retourner 0 ; } 运行效果: [root@localhost hhl] Init membre :Tom Init étudiant :Tom Init membre :Mme Huang Init enseignant :Mme Huang Nom :Tom,Âge :20,Notes :80 Nom :MmeHuang ,Âge : 30 ans, Salaire : 50000 这两者的运行效果是一样的,但是python更简洁些。。 以上就是Python类与继承讲解的内容,更多相关内容请关注PHP中文网(www.php.cn)!