Python面向对象的特点(二)继承

1.什么是继承?

继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等

       如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A的父类别”也可以称“B是A的超类”。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。另外,为子类别追加新的属性和方法也是常见的做法。 一般静态的面向对象编程语言,继承属于静态的,意即在子类别的行为在编译期就已经决定,无法在执行期扩充。

2.继承具有传递性

继承具有传递性

当父类方法的实现不能满足子类的需求的时候 可以对父类方法进行重写

1.覆盖父类方法

2.对父类的方法进行扩展

例如:

3.面向对象中类的结构

类的结构
术语--实例
1.使用面向对象开发,第一步是设计类
2.使用 类名() 创建对象,创建对象的动作有两步
   1.在内存中为对象分配空间
   2.调用初始化方法__init___ 为对象初始化
3.对象创建后,内存中就有了一个对象的实实在在的存在--实例
因此:
1.创建出来的对象叫做类的实例
2.创建对象的动作叫做实例化
3.对象的属性叫做实例属性
4.对象调用的方法叫做实例方法
在程序执行时:
1.对象各自拥有自己的实例属性
2.调用对象的方法,可以通过self
   访问自己的属性
   调用自己的方法
结论:
1.每一个对象都有自己独立的内存空间,保存各自不同的属性
2.多个对象的方法,在内存中之有一份,在调用方法时,
需要把对象的引用传递到方法内部

4.覆盖方法

示例:

这里将A写在B前面这样A就会将B覆盖,因此只会输出A的结果。

5.super调用父类方法

如图:

图中子类是没有hungry的属性的,在使用super之后就调用了父类的方法。

发布了74 篇原创文章 · 获赞 7 · 访问量 2999

猜你喜欢

转载自blog.csdn.net/qq_42806574/article/details/104133845