初识面向对象
函数与面向对象的区别
1,函数封装的是一个功能,而面向对象封装的是多个相关的功能
2,面向对象是一种思维,站在上帝的角度
3,程序可扩展,对象是一个个独立的。耦合性,差异性
类与对象
类:具有相同属性或者功能的一类事物
对象:对象是类的具体表现
类名,对象的使用
一个公共的框架,模型
类名
1,查看类中的所有属性和方法
2,查看,增删改类中的属性, (万能的.)
3,操作方法,一般不通过类名操作
class Role: rule="游戏规则" ditu="召唤师峡谷" tianqi="晴" def __init__(self,area,name,hp,ad): self.area=area self.name=name self.hp=hp self.ad=ad def attack(self,name): name.hp=name.hp-self.ad print(name.hp) print(Role.__dict__) print(Role.tianqi) #晴 Role.tianqi="下雪" print(Role.tianqi) #下雪
对象
实例化过程内部进行了三个阶段:
1,在内存中产生一个对象空间,里面有类对象指针
2,自动调用__init__方法,并且把对象空间传给self
3,在类对象空间中封装属性
a,对象操作对象空间
对象查看对象空间的属性
对象操作对象的某个属性,(增删改查)
class Role: rule="游戏规则" ditu="召唤师峡谷" tianqi="晴" def __init__(self,area,name,hp,ad): self.area=area self.name=name self.hp=hp self.ad=ad def attack(self,name): name.hp=name.hp-self.ad print(name.hp) gailun = Role("德玛西亚","草丛伦",1000,75) yasuo = Role("艾欧里亚","托儿索",500,150) print(gailun.name) #对象查看对象空间的属性 gailun.hp=1200 gailun.wuqi="剑" del gailun.ad print(gailun.__dict__) #{'area': '德玛西亚', 'name': '草丛伦', 'hp':1200, 'wuqi': '剑'}