python(继承使用基础语法复习)
python(继承使用基础语法复习)
昨天讲了类相关的操作
1.类的创建
2.构造函数
3.析构函数
今天接着昨天的进行python知识点复习
我们知道生物中讲到一句话:
“龙生龙凤生凤,老鼠的儿子会打洞。”
这个就是遗传学中的知识
单继承
假设定义了一个类A,具有属性和方法,那么再定义另一个类B,同样也具有相似的属性和方法,这时候我们就可以使用继承。
继承定义如下:
class A类():
属性
def 方法a(self,参数):
代码块
class B类(A类):
属性
def 方法a(self,参数):
代码块
以上称为B继承A
class A():
name=“class A”
def say(self):
print(“hello”)
class B(A):
def sayb(self):
print(“I am class bB!”)
a1=A()
a1.name
同样可以B类中在继承A类的属性和方法的同时,还可以有属于自己的属性和方法。调用如下
b1=B()
b1.name
b1.say()
b1.sayb()
总结有如下两点:
1.当子类继承了父类之后,子类便具有了父类的所有属性和方法。
2.当子类继承了父类之后,在子类中,仍然可以具有自己的发展。
仔细观察下面这段程序与上面的差异
class A():
name=“class A”
def say(self):
print(“hello”)
class B(A):
name=“class B” ***定义了一个与A中属性一致的属性
def sayb(self):
print(“I am class bB!”)
假设子类中出现了父类一致的属性或者方法,那么在使用的时候会将继承过来的替换掉,即没有通过继承来实现,而是直接使用子类中定义的属性和方法。
多继承
多继承是指父类不止一个(2个或2个以上)的一种继承方式。
class A类():
属性
def 方法a(self,参数):
代码块
class B类():
属性
def 方法a(self,参数):
代码块
class C类(A类,B类):
属性
def 方法a(self,参数):
代码块
上面格式中,类C同时继承了类A和类B,此时类C为子类,类A与类B都是父类。
class A ():
name=“class A”
joy=“跑步”
def say(self):
print(“I can say”)
class B():
name=“class B”
def write(self):
print(“I can write”)
class C(A,B):
name=“class C”
def run(self):
print(“I can run”)
命令执行:
a1=A()
a1.name
a1.say()
b1=B()
b1.name
b1.write()
c1=C()
c1.name
c1.say()
c1.write()
c1.run()
与单继承类似,只不过是多继承有多个父类,而单继承只有一个父类。
最胡需要注意,在多继承中,是有优先级的,写在前面的优先级高的,后面的是优先级低的。
- python语法基础之:使用python实现-冒泡排序
- Python基础语法之——继承
- .Net学习笔记----2015-07-21(C#基础复习04,面向对象语法和继承复习)
- Python基础(6)- 类和对象(使用、继承、派生、组合、接口、多态、封装、property、staticmethod、classmethod、反射、slots、上下文管理协议、元类)
- Python学习系列 ( 第二章):Python 的基础语法的使用
- Python的基础语法及使用
- Python的基础语法及使用(二)
- 【记录】学习python基础教程中使用生成器语法解决八皇后问题
- PF-003 23 Python基础语法:函数使用方法
- Python连载系列之Python语法基础1:开始使用Python
- Python基础语法(2)——字典、函数定义使用、控制流(if&for&while)
- 从变量到封装:一文带你为机器学习打下坚实的Python基础 By 机器之心2017年10月13日 10:43 本文整体梳理了 Python 的基本语法与使用方法,并重点介绍了对机器学习十分重要的且常
- CodeSmith使用基础教程 二 — 语法、标签
- 黑马程序员_基础复习03_代理、组合和继承
- CodeSmith使用基础教程 二 — 语法、标签
- JAVA基础复习(三)泛型的使用
- 如何使用pyflakes给python做语法检查
- 【python】python语法基础
- CodeSmith使用基础教程 三 — 语法与对象
- python基础4--继承