Python面向对象类继承和组合实例分析
作者:吃柚子的小白 发布时间:2021-08-25 05:08:12
标签:Python,类,继承
本文实例讲述了Python面向对象类继承和组合。分享给大家供大家参考,具体如下:
在python3中所有类默认继承object,凡是继承了object的类都成为新式类,以及该子类的子类Python3中所有的类都是新式类,没有集成object类的子类成为经典类(在Python2中没有集成object的类以及它的子类都是经典类
继承式用来创建新的类的一种方式,好处是减少重复代码
class People:
def __init__(self,name,age):
self.name=name
self.age=age
def walking(self):
print('%s is walking ' %self.name)
def talking(self):
print('%s is talking '%self.name)
class Teacher(People):
pass
class Student(People):
pass
t1=Teacher('egon',18)
print(t1.name,t1.age)
t1.walking()
t1.talking()
s1=Student('xiaobai',22)
print(s1.name,s1.age)
s1.talking()
s1.walking()
执行结果
egon 18
egon is walking
egon is talking
xiaobai 22
xiaobai is talking
xiaobai is walking
class People:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def walking(self):
print('%s is walking ' %self.name)
def talking(self):
print('%s is talking '%self.name)
class Teacher(People):
def __init__(self,name,age,sex,level,salary):
People.__init__(name,age,sex)
self.level=level
self.salary=salary
def teaching(self):
People.talking(self)
print('%s is teaching'%self.name)
class Student(People):
def __init__(self,name,age,sex,group):
People.__init__(name,age,sex)
self.group=group
def studying(self):
People.talking(self)
print('%s is studying'%self.name)
组合
class Date:
def __init__(self,year,mon,day):
self.year=year
self.mon=mon
self.day=day
def tell_birth(self):
print('出生于<%s>年 <%s>月 <%s>日'%(self.year,self.mon,self.day))
class Teacher:
def __init__(self,name,age,sex,year,month,day):
self.name=name
self.age=age
self.sex=sex
self.birth=Date(year,month,day)
def teaching(self):
print('%s is teaching'%self.name)
class Student:
def __init__(self,name,age,sex,year,mon,day):
self.name=name
self.age=age
self.sex=sex
self.birth=Date(year,mon,day)
def studying(self):
print('%s is studying'%self.name)
xiaobai=Student('xiaobai',22,'male','1995','3','16')
xiaobai.birth.tell_birth()
执行结果
出生于<1995>年 <3>月 <16>日
继承和组合
class People:
def __init__(self,name,age,sex,year,mon,day):
self.name=name
self.age=age
self.sex=sex
self.birth=Date(year,mon,day)
def walking(self):
print('%s is walking ' %self.name)
def talking(self):
print('%s is talking '%self.name)
class Date:
def __init__(self,year,mon,day):
self.year=year
self.mon=mon
self.day=day
def tell_birth(self):
print('出生于<%s>年 <%s>月 <%s>日'%(self.year,self.mon,self.day))
class Teacher(People):
def __init__(self,name,age,sex,level,salary,year,mon,day):
People.__init__(self,name,age,sex,year,mon,day)
self.level=level
self.salary=salary
def teaching(self):
People.talking(self)
print('%s is teaching'%self.name)
class Student(People):
def __init__(self,name,age,sex,year,mon,day,group):
People.__init__(self,name,age,sex,year,mon,day)
self.group=group
def studying(self):
People.talking(self)
print('%s is studying'%self.name)
父类要限制
1、子类必须有父类的方法
2、子类实现的方法必须跟父类的方法的名字一样
import abc
class File(metaclass=abc.ABCMeta):
@abc.abstractclassmethod
def read(self):
pass
@abc.abstractclassmethod
def write(self):
pass
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.cnblogs.com/c491873412/p/7112668.html
0
投稿
猜你喜欢
- python中with可以明显改进代码友好度,比如:with open('a.txt') as f:  
- 本文实例讲述了Python进程的通信Queue、Pipe。分享给大家供大家参考,具体如下:内容相关:概念:进程的通信Queue:创建与使用P
- 本文实例讲述了Python开发的实用计算器。分享给大家供大家参考,具体如下:实现功能:图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开
- 准备下载安装Python3官网下载即可,选择合适的版本:https://www.python.org/downloads/安装一直下一步即可
- 译序:这篇文章是可用性大师 Jakob Nielsen 在10年前总结的,到今天仍然受用。通过这个时间跨度,可以得出,可用性话题不是某个时代
- 本文实例为大家分享了微信小程序实现星星评价效果的具体代码,供大家参考,具体内容如下代码实现wxml文件<!--pages/evalua
- 登录百度,首先当然是先抓百度的登录包 ,由于是网页登录,最方便的自然是httpwatch了,我使用的测试账号是itiandatest1,密码
- 这篇文章主要介绍了Python爬取豆瓣视频信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 总说由于pytorch 0.4版本更新实在太大了, 以前版本的代码必须有一定程度的更新. 主要的更新在于 Variable和Tensor的合
- 问题问题1Python是一种动态语言,不支持类型检查。当需要对一个对象执行类型检查时,可能会采用下面的方式:class Foo(object
- 背景之前是用的是typora来写的文章,最近typora最近开始收费了,所以就不想用了,于是找到了一个替代品MarkText,感觉跟typo
- 下载安装Anaconda下载地址如下,根据所需版本下载安装过程暂略(下次在安装时添加)下载安装Pycharm下载安装Pycharm,下载对应
- 本文实例讲述了python实现基于两张图片生成圆角图标效果的方法。分享给大家供大家参考。具体分析如下:使用pil的蒙版功能,将原图片和圆角图
- 多个if语句是每次单独判断比如:例子一a = 5if a < 6: #条件1 &
- 导读需要使用python做一个将很多个不规则PPT导出成用文件夹归纳好的图片集,所以就需要使用comtypes调用本机电脑上的ppt软件,批
- 素数(prime number)也叫质数,为大于1的且除1和本身以外不再有其他因数的自然数,与之相对的是合数,素数有无限个。计算小于N的素数
- 方法一1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的;2. 重命名自己的mysql的data目录下的mysql文件
- 本来非常喜欢偷懒最好就是不干活那种所以最近在研究把Jenkins模块集成起来做成傻瓜界面这样就给他们用本人Python搓望大神不要喷,多多指
- 需求:序列化外键,获取外键的除id之外的值使用Django REST Framework虽然开发接口快速,但是如果想要获取到除外键id值之外
- 本文实例讲述了python根据开头和结尾字符串获取中间字符串的方法。分享给大家供大家参考。具体分析如下:这里给定一个字符串,指定开头和结尾的