博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之继承、抽象类、派生、多态、组合、封装
阅读量:6542 次
发布时间:2019-06-24

本文共 897 字,大约阅读时间需要 2 分钟。

 

1、继承概念的实现方式主要有2类:实现继承、接口继承。

Ø         实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø         接口继承是指仅使用属性和方法的名称、子类必须提供实现的能力(子类重构爹类方法);
父类是抽象类,仅定义将由子类创建的一般属性和方法。
 
2、抽象类
同java里的接口定义,父类不实现任何功能
import abcclass Animal:    @abc.abstractmethod    def run(self):        pass    @abc.abstractmethod    def eat(self):        passclass People(Animal):    def run(self):        print('people is walking')    def eat(self):        print('people is eating')

 

 
 3、派生

  除了继承父类的,还要派生属于自己的属性

 

4、多态是为了实现接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中不同的实例(如People,Pig)的某一属性时的正确调用。
 

 

 5、组合  

对象作为另一个对象的属性,如 teacher1.course = python 其中python是个课程对象

 

6、封装

加__变形后实现隐藏,意义是隔离复杂性,特性如下

  1、在类外部无法直接obj.__AttrName

  2、在类内部直接obj.__AttrName

  3、子类无法覆盖父类__开头的属性

class A:    __x = 1    def __init__(self,name):        self.__name = name    def __foo(self):        print('run foo')        print(self.__x)a = A('egon')a._A__foo()print(a._A__x)

 

转载于:https://www.cnblogs.com/stin/p/8311652.html

你可能感兴趣的文章
母线的种类与作用是什么(转)
查看>>
【Xamarin 挖墙脚系列:IOS 开发界面的3种方式】
查看>>
Atitit.工作流系统的本质是dsl 图形化的dsl 4gl
查看>>
4-5-创建索引表-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版
查看>>
go run main.go undefined? golang main包那点事
查看>>
从零开始写一个npm包,一键生成react组件(偷懒==提高效率)
查看>>
中国最强的人工智能学术会议来了
查看>>
Metasploit的射频收发器功能 | Metasploit’s RF Transceiver Capabilities
查看>>
主库 归档 删除策略
查看>>
《Linux从入门到精通(第2版)》——导读
查看>>
路过下载攻击利用旧版 Android 漏洞安装勒索软件
查看>>
ThinkSNS 六大子版本体验及源码下载
查看>>
《算法基础》——1.5实际因素
查看>>
《Java数字图像处理:编程技巧与应用实践》——第3章 基本Swing UI组件与图像显示 3.1 JPanel组件与BufferedImage对象的显示...
查看>>
为什么有人讨厌 Google 的新 Logo?
查看>>
腾讯2017暑期实习编程题3
查看>>
Intellij IDEA 构建Spring Web项目 — 用户登录功能
查看>>
[AHOI2013]作业
查看>>
git push被忽略的文件 处理
查看>>
C#中用ILMerge将所有引用的DLL打成一个DLL文件
查看>>