面向对象
1-面向对象的引入:
1-先找出相应的对象
2-把这些涉及的对象的关系进行组网
2-类/实例
1-类:
1-现实不存在--抽象的概念
2-一类具有相同特征的事物的统称!
2-类里面有
1-静态---属性(特征)
2-动态---方法(行为)
3-实例---也叫 对象
1-在这个类里面实际存在的个体
2-类是实例的抽象化体现
3-实例是类的具体实例化体现
4-实例化操作:
1-类里面的变量--属性
2-类里面的函数--方法
3-创建实例 t1 = Tiger()
5-静态属性和实例属性
1-静态属性:
1-也叫类属性
2-它属于整个类的
3-用法:1-类.属性 2-实例.属性
2-实例属性:
1-这个属性是 那个实例的,不属于整个类---其他实例不能共享
2-定义在 初始化方法 __init__ 里
3-一般在创建实例的时候就给定
4-只要创建实例--__init__初始化方法肯定会调用
5-self 只是代表词,并不是关键字--可以替换,但不建议替换!不能缺省
6-id(self)
7-实例化属性---只能 实例.属性
6-方法:
1-静态方法
1-属于整个类
2-类可以直接调用,不需要实例化 ----类.方法 / 实例.方法
3-用 @staticmethod 修饰 只能修饰紧跟的那一个
2-实例方法:
1-有self
2- 实例.方法
7-取随机数
from random import randint
randint(0,2)--取 0 1 2 闭区间
8-时间处理:
1- import time
time.time()---单位是s 秒 从1970算起
9-继承
1-继承关系可以是多个父类
2-重写--在父类跟子类之间的一个多态的体现!
3-在重写情况下,调用父类的方法
super(SouTiger,s1).roar()
super(子类类名,子类的实例名).roar()
游戏分解:
1-涉及的事物:类
1-老虎
1-特性/特征
1-大小
2-体重--*
3-长相
2-行为
1-吃--*
2-喝
3-睡
4-叫--*
2-羊
1-特性/特征
1-大小
2-体重--*
3-长相
2-行为
1-吃--*
2-喝
3-睡
4-叫--*
3-房间
1-特性/特征
1-房号--*
2-动物--*
2-对这些对象进行关系组网