1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分析.  那这个也可以被称为封装. 2. 继承: 两个类具有相同的功能或者特征的时候. 可以采⽤继承的形式. 提取⼀个⽗类, 这个⽗类中编写着两个类相同的部分. 然后两个类分别取继承这个类就可以了. 这样写的好处是我们可以避免写很多重复的功能和代码. 如果从语义中去分析的话. 会简单很多. 如果语境中出现了x是⼀种y. 这时, y是⼀种泛化的概念. x…
# 面向对象的三大特性:封装,继承,多态 # 继承的影响:资源的继承,资源的使用,资源的覆盖,资源的累加 # 资源的继承,在Python中的继承是指能使用父类的资源,而不是说在子类也复制一份父类代码到子类中 class Animate: a = 1 # 公有的资源 _b = 2 # 受保护的资源 __c = 3 # 私有的资源 def t1(self): print("t1") def _t2(self): print("t2") def __t3(self): p…
继承 继承也是面向对象编程三大特性之一 继承是类与类的一种关系 定义一个新的 class 时,可以从某个现有的 class 继承 新的 class 类就叫子类(Subclass) 被继承的类一般称为父类.基类.超类 通俗理解:子类与父类的关系,即爸爸与儿子,爸爸有了个儿子,儿子继承爸爸的属性和方法,爸爸的爸爸就是爷爷...以此类推 继承的实际栗子 猫.狗都是动物,所以动物是父类,猫.狗是动物的子类 小菠萝.大菠萝都是人类,所以人类是父类,小菠萝.大菠萝是人类的子类 动物.人类都是生物,所以生物是…
面向对象的三大特性:继承,封装,多态 什么时候用封装: 同一种功能的时候, 譬如:把一部分数据或方法,封装到同一个类的中 PS:在构造方法中,原始数据中....…
简单介绍封装 封装是面向对象编程的一大特点 封装可以被认为是一个保护屏障,防止该类的属性.方法和数据结构被外部随意访问 要访问该类的属性.私有方法.数据结构,必须由指定的方法控制访问 深入理解封装 在设计类时,刻意地将一些属性和方法隐藏在类的内部[私有属性.私有方法] 这样在使用此类时,将无法直接通过 实例对象.属性名   实例对象.实例方法() 形式调用这些属性.方法 而只能通过公开的方法间接操作这些隐藏的属性和方法 类比场景 好比使用电脑,我们只需要学会如何使用键盘和鼠标就可以了,不用关心内…
继承 先看个简单的例子了解一下继承. class Animal: # 父类 def __init__(self, name, age, department): self.name = name self.age = age self.department = department def running(self): print('%s可以奔跑!'% self.name) class Cat(Animal): # 括号里放要继承的父类 def __init__(self, name, age,…
多态 多态的特性是调用不同的子类将会产生不同的行为,而无需明确知道这个子类实际上是什么 说白了就是,不同的对象调用相同的方法,产生不同的行为 例如:s1是字符串类型,w1是列表,两个完全不同的对象,他们都可以调用len方法,而得出的结果不同 多态实际上是依附于继承的两种含义:"改变"和"扩展"本身就意味着必须有机制去选用你改变/扩展过的版本,多态实质上就是继承的实现细节: 子类实例化后调用基类的方法,w1.turn_ice()叫做多态: class H20: def…
前置知识 封装 详解文章:https://www.cnblogs.com/poloyy/p/15203989.html 封装根据职责将属性.方法封装到一个抽象的类中 定义类的准则-封装 继承 详解文章:https://www.cnblogs.com/poloyy/p/15216652.html 继承实现代码的重用,相同的代码不需要重复的编写 多态 不同的子类对象调用相同的父类方法,产生不同的执行结果 以继承和重写父类方法为前提 是调用方法的技巧,不会影响到类的内部设计 程序猿和设计师都是人类,他…
多态 多态 不同的子类对象调用相同的父类方法,产生不同的执行结果. 以继承和重写父类方法为前提…
继承和组合 一.组合 组合:组合指的是,在一个类中以另外一个类的对象(也就是实例)作为数据属性,称为类的组合 也就是说:一个类的属性是另一个类的对象,就是组合 例子: 圆环是由两个圆组成的,圆环的面积就是外圆的面积减去内圆的面积.圆环的周长就是内圆的周长加上外圆的周长,这个时候,我们首先设计一个圆形类,计算一个圆的面积和圆的周长.然后在‘圆环类’组合圆形的实例作为自己的属性来用(这样的目的就是为了不用在写面积和周长的方法了,直接组合圆类的面积和方法去求解.减少了代码的重用) 1 from mat…