-
面向对象介绍:
面向过程开发:想要一个结果->写代码->实现计算结果
面向对象开发:一种新的开发思路 -
面向对象基础语法
先来定义模子,用来描述一类事物
具有相同的属性和动作
例如:下面是定义的猫类class Cat: # 类名 def __init__(self, name, kind, hp, ad): # 所有的在一个具体的人物出现之后拥有的属性,都写在__init__里面。 print('hahha') self.name = name self.kind = kind self.hp = hp self.ad = ad print('*' * 20) tom = Cat('tom', '蓝猫', 100, 1) # 类名() 会自动调用类中的__init__方法 tim = Cat('tim', '英短', 200, 5) # tim就是对象,tim = Cat()的过程,是通过类获取一个对象的过程 --实例化 print(tom.__dict__) print(tim.__dict__) print(tom.kind) # 属性的查看 tom.hp = 300 # 属性的修改 tom.money = 9999999 # 属性的添加 print(tom.__dict__) del tom.money #属性的删除 print(tom.__dict__)
-
类和对象的关系?
类 是一个大范围,是一个模子,它约束了事物有哪些属性,但是不能约束具体的值
对象 是一个具体的内容,它是模子的产物,它遵循了类的约束,同时给属性赋上具体的值Cat是一个类,tom,tim就是这个类的对象
类有一个空间,存储的是定义在class中所有的名字
每一个对象又拥有自己的空间,通过对象名.__dict__
就可以查看这个对象的属性和值。 -
实例化经历的步骤
- 类名()之后的第一件事:开辟一块内存空间
- 调用
__init__
把空间的内存地址作为self参数传递到函数内部 - 所有的这一个对象需要使用的属性都需要和self关联起来
- 执行完
__init__
之后,self变量会自动的被返回到调用处(发生实例化的地方)