Python中类的继承代码实例
这篇文章主要介绍了Python中类的继承代码实例,本文直接给出代码及运行效果,需要的朋友可以参考下

相对于C 的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。
#!/usr/bin/python
#filename:
pyclass.py
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]# python
pyclass.py
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 例子:
//filename:
class.cpp
#include
#include
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]#
./class
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中类的继承
python中类的继承 在python中面向对象编程中实现继承,以下面一个实例进行说明. class SchoolMenber(): # __init__类似于c++中的构造函数 # __init__ ...
- 第7.6节 Python中类的继承机制详述
在本章第一节,介绍了面向对象程序设计的三个特征:封装.继承和多态,前面章节重点介绍了封装和多态,由于Python语言是多态语言,对象的类型不再由继承等方式决定,而由实际运行时所表现出的具体行为来决定, ...
- Python configparser模块操作代码实例
1.生成配置文件 ''' 生成配置文件 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知 ...
- python 面向对象之继承与派生
一:初识继承 1,什么是继承? 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类 ...
- Python之面向对象继承和派生
Python之面向对象继承和派生 什么是继承: 继承是一种创建新的类的方法.在Python中,新建的类可以继承自一个或多个父类.原始类称为基类或超类. 新建的类称为派生类或子类. Python中类的继 ...
- Python面向对象编程——继承与派生
Python面向对象编程--继承与派生 一.初始继承 1.什么是继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题. 继承是一种创 ...
- python面向对象之继承与派生
一.继承 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继承,如果是多继承的 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python接口测试自动化说明及代码实例:含get、post、put、delete等方法
一.接口说明文档 环境准备: 安装火狐 安装插件: httprequester https://addons.mozilla.org/en-US/firefox/addon/httprequester ...
随机推荐
- 一图一知-TS之Interface接口
- Java调用和回调总结(2)
Java调用和回调总结(2) 调用的种类 调用有3种, 普通调用(同步调用), 异步调用, 异步回调. 三种调用的特点 普通调用: 也叫做同步调用 , 最常见的调用, 会造成阻塞. 异步调用 : 异步 ...
- 通过轻量级终端工具Tera Term远程向linux操作系统上传war文件
通过轻量级终端工具Tera Term远程向linux操作系统上传war文件 1.打开Tera Term终端工具,并输入正确的远程机器的IP地址以及端口号: 2.输入正确的用户名和密码进入到linux操 ...
- [转]makefile学习
原文: http://blog.fatedier.com/2014/09/08/learn-to-write-makefile-01/ -------------------------------- ...
- LNMP原理
在linux系统中,LNMP是目前网站主流架构之一,LNMP中L指linux系统平台,N是nginx指网站的前端程序,发布静态页面和调用外部程序解析动态页面,M是mysql指网站的后台数据库,P是PH ...
- 【数位贪心】loj#530. 「LibreOJ β Round #5」最小倍数
记录一下题解里写的算法四 题目描述 $1 \le T \le 10^4,1\le m\le 100,0\le a_i\le 10^{18}$. 题目分析 题解里的算法四是这么写的 主要是这个$\alp ...
- Bootstrap Popover(弹出框)弹出自定义格式代码
HEAD 标签之间引入CSS:<link href="../../../public/css/bootstrap.min.css" rel="stylesheet& ...
- 【Android-自定义控件】SwipeRefreshDemo 下拉刷新,上拉加载
参考:https://github.com/PingerOne/SwipeRefreshDemo 谷歌官方的SwipeRefreshLayout控件,只有下拉刷新功能. 自定义的SwipeRefres ...
- 权势二进制(51Nod 1413)
一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成.例如0,1,101,110011都是权势二进制而2,12,900不是. 当给定一个n的时候,计算一下最少要多少个权势二进制相加才能 ...
- 在eclipse中查找一个类中的方法在其他哪个类中被调用了
选中你所要查看的方法名,ctrl+shift+G就可以查看所有调用过该方法的地方了.在Search视图里面可以查看得到这个样子是可以的,你也可以按Ctrl+H全文检索一下