一、概念
1、对象:
把数据和功能结合起来,用称为对象的东西包裹起来组织程序的方法。这种方法称为 面向对象的 编程理念。
面向对象: 人.吃饭()
面向过程: 张嘴->往嘴里放东西->咀嚼->吞下去
2、类和对象:
类的实例化叫对象。
类使用class关键字创建。类的域和方法被列在一个缩进块中,域和方法可以合称为类的属性。
3、域:
属于一个对象或类的变量被称为域。
域有两种类型——属于每个实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。
4、类的方法:
对象也可以使用 属于 类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。
5、self:
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。
6、__init__方法
__init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化 。注意,这个名称的开始和结尾都是双下划线。
二、举例
类的变量由各个实例对象共同使用,对象变量由copy而来,独立使用
三、继承
1、概念:
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过 继承 机制。继承完全可以理解成类之间的 类型和子类型 关系。
一个子类型在任何需要父类型的场合可以被替换成父类型,即对象可以被视作是父类的实例,这种现象被称为多态现象。
另外,我们会发现在 重用 父类的代码的时候,我们无需在不同的类中重复它。
2、举例: