封装和@property】的更多相关文章

一.封装之Property prooerty是一种特殊的属性,访问时他会执行一段功能(函数)然后返回 '''BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解) 成人的BMI数值:过轻:低于18.5正常:18.5-23.9过重:24-27肥胖:28-32非常肥胖, 高于32 体质指数(BMI)=体重(kg)÷身高^2(m) EX:70kg÷(1.75×1.75)=22.86 ''' class People: def __init__(se…
抽象类,接口类,封装,property,classmetod,statimethod(类方法,静态方法) 一丶抽象类和接口类 接口类(不崇尚用) 接口类:是规范子类的一个模板,只要接口类中定义的,就应该在子类中实现 接口类不能被实例化,只能被继承 支持多继承,父类不实现 python 本身支持多继承,没有接口专用的语法.但是得知道接口的概念 例子: class Alipay: ''' 支付宝支付 ''' def pay(self,money): print('支付宝支付了%s元'%money)…
封装和@property 一.复习 1.接口类和抽象类 python中没有接口类,有抽象类,abc模块中的metaclass=ABCMeta,@abstructmethod,本质是做代码规范用的,希望在子类中实现和父类方法名完全一样的方法 在Java的角度上是有区别的: Java本来支持单继承,所以就有了抽象类 Java没有多继承,所以为了接口隔离原则,设计了接口这个概念,支持多继承了 python既支持单继承也支持多继承,所以对于接口类和抽象类的区别就不那么明显了 甚至在python中没有内置…
组合.多态.封装.property装饰器 一.组合 1.什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 class Foo(): pass class Bar(): pass obj=Bar() obj.attrib=Foo() 组合 2.组合的作用 通过为某一个对象添加属性(属性值是另外一个类的对象)的方式,可以间接地将两个类关联/整合/组合到一起,从而减少类与类之间代码冗余 3.组合的使用 class OldboyPeople: school = 'oldboy'…
Python之路,Day19 = 面向对象的程序设计之继承实现的原理(继承顺序).封装.property 以下类容参考自:http://www.cnblogs.com/metianzing/p/7121947.html 抽象类补充: import abc class Parent(metaclass= abc.ABCMeta): x=1 @abc.abstractclassmethod def foo(self): pass @abc.abstractclassmethod def bar(se…
一.封装之property @property把一个函数伪装成一个数据类型  @伪装成数据的函数名.setter   控制该数据的修改,修改该数据时触发 @伪装成数据的函数名.delect  控制该数据的删除,删除该数据时触发 class People: def __init__(self,name): self.__name=name @property #将name()函数伪装成一个数据属性name def name(self): #obj.name print('您现在访问的是用户名...…
封装 封装程序的主要原因:保护隐私:而封装方法的主要原因是:隔离复杂的执行过程 property的特性 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则 import math class circular: def __init__(self,radius,): self.radius=radius @property #area=property(area) def area(s…
1.封装 (1)什么是封装? 封:属性对外是隐藏的,但对内是开放的: 装:申请一个名称空间,往里面装入一系列名字/属性 (2)为什么要封装? 封装数据属性的目的 首先定义属性的目的就是为了给类外部的使用者使用的 隐藏之后是为了不让外部使用直接使用,需要类内部开辟一个接口 然后让类外部的使用通过接口来间接的操作隐蔽的属性 精髓在于:我们可以在接口之上附加任意逻辑,从而严格严格控制使用者对属性的操作: 封装函数属性 首先定义属性的目的就是为了给类外部的使用使用的 隐藏函数属性是为了让使用者不直接使用…
一:组合: 什么是组合:组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象. 为何要用组合:通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,可以间接地将两个类关联/整合/组合到一起 从而减少类与类之间代码冗余 二:多态与多态性 什么是多态:多态指的是同一种/类事物的不同形态. 为何要用多态:                          多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象                          多态性…
# 组合'''软件重用的重要方式除了继承之外还有另外一种方式,即:组合组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之为组合 2. 为何用组合 组合也是用来解决类与类代码冗余的问题 3. 如何用组合# obj1.xxx=obj2'''''' >>> class Equip: #武器装备类 ... def fire(self): ... print('release Fire skill') ... >…