>백엔드 개발 >파이썬 튜토리얼 >Python 클래스 및 상속 설명

Python 클래스 및 상속 설명

黄舟
黄舟원래의
2016-12-24 17:18:201431검색

C++의 상속 작성과 비교하면 Python이 더 간결하고 효율적입니다. 다음은 간단한 Python 상속 예입니다.

class Member:

def __init__(self, name, age):

self.name = 이름

self.age = age

print 'Member init:%s' % self.name

def Tell(self):

print 'Name:%s,Age:%d' %(self.name , self.age),

class 학생(회원):

def __init__(self, 이름, 나이, 점수):

Member.__init__(self, 이름, 나이)

self.marks = mark

print 'Student init:%s' % self.name

def Tell(self):

멤버 .tell(self)

print 'Marks:%d' % self.marks

class 교사(회원):

def __init__(self, 이름, 나이, 급여 ):

Member.__init__(self, name, age)

self.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 member:

mem.tell()

실행 효과:

[root@localhost hhl]

멤버 init:Tom

학생 init :Tom

멤버 init:Mrs.Huang

선생님 init:Mrs.Huang

이름:Tom,나이:20 마크:80

이름: Mrs.Huang,나이:30 급여:50000

또한 동일한 효과를 갖는 C++ 예제를 작성합니다.

#include

#include < ;iostream> ;

사용하는 네임스페이스 std;

class Member

{

void Tell()

private:

문자 이름[10];

int age

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

{

memcpy(이름, n, sizeof(이름))

age = a

cout<<"회원 초기화:"<

}

void Member::tell()

{

    cout

}   

class Student:public Member   

{   

public:   

    Student(char *n, int a, int m );   

    void tell_s();   

비공개:   

    int 마크;   

};   

학생::Student(char *n, int a, int m):Member(n, a)   

{   

    marks = m;   

    cout<<"학생 초기화:"<

}   

void Student::tell_s()   

{   

    Member::tell();   

    cout

}   

class Teacher:public Member   

{   

public:   

    Teacher(char *n, int a, int s );   

    void tell_t();   

비공개:   

    int 급여;   

};   

선생님::Teacher(char *n, int a, int s):Member(n, a)   

{   

    급여 = s;   

    cout<<"교사 초기화:"<

}   

void Teacher::tell_t()   

{   

    Member::tell();   

    cout

}   

int main(void)   

{   

    Student s("Tom", 20, 80);   

    선생님 t("Mrs.Huang", 30, 50000);   

    s.tell_s();   

    t.tell_t();   

    0을 반환합니다.   

}  

运行效果:

[root@localhost hhl]  

회원 init:Tom   

학생 init:Tom   

회원 초기화:Mrs.Huang   

선생님 초기화:Mrs.Huang   

이름:Tom,나이:20,마크:80   

이름:Mrs.Huang ,나이:30,급여:50000  

这两者的运行效果是一样的,但是python更简洁些。。

 以上就是Python类与继承더 많은 정보를 얻으세요相关内容请关注PHP中文网(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.