最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python类与继承讲解

来源:动视网 责编:小采 时间:2020-11-27 14:27:10
文档

Python类与继承讲解

Python类与继承讲解:相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。class Member: def __init__(self, name, age): self.name = name self.age = age print 'Member init:%s
推荐度:
导读Python类与继承讲解:相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。class Member: def __init__(self, name, age): self.name = name self.age = age print 'Member init:%s


相对于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.name, self.age),

class Student(Member):

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:%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 members:

mem.tell()

运行效果:

[root@localhost hhl]

Member init:Tom

Student init:Tom

Member init:Mrs.Huang

Teacher init:Mrs.Huang

Name:Tom,Age:20 Marks:80

Name:Mrs.Huang,Age:30 Salary:50000

我们同样编写同样效果的C++例子:

#include <string.h>

#include <iostream>

using namespace std;

class Member

{

public:

Member(char *n, int a);

void tell();

private:

char name[10];

int age;

};

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

{

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

age = a;

cout<<"Member init:"<<name<<endl;

}

void Member::tell()

{

cout<<"Name:"<<name<<","<<"Age:"<<age<<",";

}

class Student:public Member

{

public:

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

void tell_s();

private:

int marks;

};

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

{

marks = m;

cout<<"Student init:"<<n<<endl;

}

void Student::tell_s()

{

Member::tell();

cout<<"Marks:"<<marks<<endl;

}

class Teacher:public Member

{

public:

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

void tell_t();

private:

int salary;

};

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

{

salary = s;

cout<<"Teacher init:"<<n<<endl;

}

void Teacher::tell_t()

{

Member::tell();

cout<<"Salary:"<<salary<<endl;

}

int main(void)

{

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

Teacher t("Mrs.Huang", 30, 50000);

s.tell_s();

t.tell_t();

return 0;

}

运行效果:

[root@localhost hhl]

Member init:Tom

Student init:Tom

Member init:Mrs.Huang

Teacher init:Mrs.Huang

Name:Tom,Age:20,Marks:80

Name:Mrs.Huang,Age:30,Salary:50000

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

文档

Python类与继承讲解

Python类与继承讲解:相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。class Member: def __init__(self, name, age): self.name = name self.age = age print 'Member init:%s
推荐度:
标签: 讲解 详解 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top