一、面向对象根本概念
- 天下上有许多人和事物,每一个都可以看做一个对象,而每个对象都有本身的属性和活动,对象与对象之间通过方法来交互。
- 面向对象是一种以“对象”为中央的编程头脑,把要办理的标题分解成各个对象,创建对象的目标不是为了完成一个步调,而是为了描叙某个对象在整个办理标题的步调中的属性和活动。
- 关注核心----谁来做
二、类和对象
- 类是模板,对象 是根据 类 这个模板创建出来的,应该 先有类,再有对象
- 类 只有一个,而 对象 可以有许多个,差别的对象 之间 属性 大概会各不雷同
- 类 中界说了什么 属性和方法,对象 中就有什么属性和方法,不大概多,也不大概少
留意:在步伐开辟中,要筹划一个类,通常必要满意一下三个要素:
1.类名 这类事物的名字,必要满意大驼峰定名法
2.属性 这类事物具有什么样的特性
3.方法 这类事物具有什么样的活动
三、语法布局:
# 创建类class 类名: def 方法1(self, 参数列表): pass # pass是占位符 def 方法2(self, 参数列表): pass# 创建对象对象引用 = 类名(参数列表)三、self 参数:
- 在 类的外部,通过变量名 访问对象的 属性和方法
- 在 类封装的方法中,通过self访问对象的 属性和方法
- self利用示例:
class BearToy: def speak(self): print("你好我是" + self.color + "色的泰迪~")bear01 = BearToy()bear01.color = "red" # 给熊添加颜色属性并赋值bear01.speak()bear02 = BearToy()bear02.color = "yellow" # 给熊添加颜色属性并赋值bear02.speak()四、__init__初始化方法:
- __init__()方法在创建对象时会被自动调用
- __init__()是专门用来界说一个类 具有哪些属性的方法
- __init__()利用示例:
class BearToy: # 界说类BearToy def __init__(self, color): print("对象初始化") self.color = color def speak(): print("颜色: " + self.color + ",巨细:" + self.size)if __name__ == "__main__": tidy01 = BearToy("red", "big") tidy01.speak() tidy02 = BearToy("yellow", "small") tidy02.speak()五、函数编程训练:
需求:
- 创建游戏脚色类
- 游戏人物脚色拥著名字、武器等属性
- 游戏人物具有攻击的方法
- 武器通过武器类实现
class Role: #界说类Role【拥有雷同属性和方法的对象的聚集】 def __init__(self, name, weapon): #__init__() 可以指定每一个对象独有的属性 self.name = name #self 为实例本身的名称 self.weapon = weapon #self 为实例本身的名称#类方法,即类中界说的函数,可以由对象去调用 def attack(self, target): #self 为实例本身的名称 print('我是%s, 正在攻击%s' % (self.name, target))if __name__ == '__main__': lb = Role('吕布', '方天画戟') #根据Role类创建一个具体的对象lb print(lb.name, lb.weapon) #打印对象lb的名字和武器 lb.attack('张飞') #让对象调用类方法attack() |