Python类和对象
1、面向对象编程介绍
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象是一种对现实世界理解和抽象的方法
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态、封装),并且它们不允许混合持久化状态和域逻辑。
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向过程是一件事“该怎么做“,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了
面向对象三个特性:
- 继承
- 封装
- 多态
2、类和对象
面向对象编程的2个非常重要的概念:类和对象
-
- 类
- 人以类聚 物以群分。 具有相似内部状态和运动规律的实体的集合(或统称为抽象)。 具有相同属性和行为事物的统称
- 类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在
-
- 对象
- 某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。 可以是直接使用的
-
- 类和对象之间的关系
- 关系
类的构成
-
类(Class) 由3个部分构成
- 类的名称:类名
- 类的属性:一组数据
- 类的方法:允许对进行操作的方法 (行为)
3、定义类与创建对象
1、类的定义
-
语法:
- class 类名: 方法列表
-
说明:
- 1、定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
- 2、类名的命名规则按照"大驼峰"
2、创建对象
-
语法:
- 对象名 = 类名()
4、self
1.、理解self
- 看如下示例:
定义一个类
class Animal:
方法
def init(self, name):
self.name = name
def printName(self):
print(‘名字为:%s’%self.name)
定义一个函数
def myPrint(animal):
animal.printName()
dog1 = Animal(‘西西’)
-
总结:
- 1、所谓的self,可以理解为自己
- 2、可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
- 3、某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
2、init()方法
classCar:
def__init__(self):
self.wheelNum = 4
self.color = ‘蓝色’
defmove(self):
print(‘车在跑,目标:夏威夷’)
创建对象
BMW = Car()
print(‘车的颜色为:%s’%BMW.color)
print(‘车轮胎数量为:%d’%BMW.wheelNum)
-
总结1:
- 当创建Car对象后,在没有调用__init__()方法的前提下,BMW就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了
-
总结2:
- 1、init()方法,在创建一个对象时默认被调用ÿ