day22 初识面向对象编程
一面向对象概述
1 什么是面向对象编程?
对对象进行编程,万物皆可抽象为对象,我们把对象的属性和行为统一到一个类中,然后根据这个类,可以实例化一个具体的对象。然后可以规定对象特定的属性和方法,这样实例化的对象就可以完成一系列不同的行为。这就是面向对象编程。三个特征:封装,继承和多态。
2 面向过程与面向对象的区别
面向过程:写代码实现计算结果
面向对象:创建角色,角色的属性和技能,角色之间如何交互
二 类与对象
类:是一个大范围,一个模子,约束了事物有哪些属性,但是不能约束具体的值。
定义一个类:
class Person: # 类名
def __init__(self,name,sex,job,hp,weapon,ad):
# 必须叫__init__这个名字,不能改变的,所有的在一个具体的人物出现之后拥有的属性
self.name = name
self.sex = sex
self.job = job
self.level = 0
self.hp = hp
self.weapon = weapon
self.ad = ad
类的特性:有一个存储空间,存储的是定义在class中的所有名字
类的实例化过程:
01 类名()之后,首先开辟一块存储空间
02 调用__init__把空间的内存地址作为self参数传递到函数内部
03 该对象中的所有属性和self进行关联
04 执行完__init__后,self变量会自动的返回到调用处。相当于返回了一个对象。
对象:是一个具体的内容,是模子的实例化的产物,遵循了类的约束,同时给属性赋具体的值
Person p=Person('name','man','工人','3','200')
对象特性:每个对象拥有自己的存储空间,通过对象名.__dict__就可以查看这个对象的属性和值
方法:定义在类中。定义的时候,第一个参数必须是self,类在实例化后产生的对象也会拥有类中的方法。