摘要:
目标与需求说明 1.目标 理解一个对象的属性 可以是 另外一个类创建的对象 强化对面向对象封装特性的理解 封装是面向对象编程的一大特点; 面向对象编程的第一步是将属性和方法封装到一个抽象的类中; 外界使用类创建对象,然后让对象调用方法; 对象方法的细节都被封装在类的内部; 2.需求说明 警察拿起 A 阅读全文
摘要:
魔法方法__new__() __new__和__init__的作用 class A(object): def __init__(self): print("这是 init 方法") def __new__(cls): print("这是 new 方法") return object.__new__( 阅读全文
摘要:
静态方法和类方法 1. 类方法 是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以'cls'作为第一个参数的名字,就最好用'cls'了),能够通过实 阅读全文
摘要:
#1 定一个人类,可以跑,跳,投,说话动作,有身高,体重,性别吗,属性, class People(object): """ 人类 """ def __init__(self, height, high, gender): self.height = height self.high__ = hig 阅读全文
摘要:
类属性和实例属性 在了解了类基本的东西之后,下面看一下python中这几个概念的区别 先来谈一下类属性和实例属性 在前面的例子中我们接触到的就是实例属性(对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似 阅读全文
摘要:
多态 所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态,多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚“鸭子类型”。 鸭子类型:虽然我想要一只"鸭子",但是你给了我一只鸟。但是只要这只鸟走路像鸭子,叫起来像鸭子,游泳也像鸭子,我就认为这是鸭子。 Python的多态, 阅读全文
摘要:
修改私有属性的值 如果需要修改一个对象的属性值,通常有2种方法 对象名.属性名 = 数据 > 直接修改 对象名.方法名() > 间接修改 私有属性不能直接访问,所以无法通过第一种方式修改,一般的通过第二种方式修改私有属性的值:定义一个可以调用的公有方法,在这个公有方法内访问修改。 class Mas 阅读全文