类与对象:
1、面向对象定义:面向对象开发方法是以对象为导向开发应用程序的软件开发方法
2、面向对象开发方向:面向对象分析;面向对象设计;面向对象编程
3、面向对象的四个特征:封装、继承、多态、抽象
4、什么是对象:定义:对象是人们在行动或思考时作为目标的事物
5、就算计中的对象:定义:计算机中的对象是客观世界中的对象在计算机中的映射
6、属性:属性是客观世界对象的特征在计算机中的映射
7、方法:方法是客观世界对象的行为在计算机中的映射
8、面向对象与面向过程对比:
面向过程:优点:内耗低 ;缺点:不易维护,难以复用,扩展性差,开发效率低
面向对象:优点:维护性好,易于复用,扩展性好,开发效率高;缺点:内耗高
9、类:定义:类是具有相同属性和方法的一组对象的集合
10、类和对象的关系:抽象是一个提取共同特征和行为的一个过程。
实例化是指在面向对象的编程中,通常把用类创建对象的过程称为
实例化。
11、面向对象操作步骤:创建类--实例化类--调用方法/获取类属性
12、使用class创建类
13、实例方法定义:仅可以通过对象调用的方法
14、创建实例方法:class 类名(object):
def 方法名(self[,属性值1,.....]):
pass
15、实例化类:对象名 = 类名() person = Person()
16、调用实例化方法:对象名 = 类名()
对象名.实例方法
注意:要先实例化类,然后才能调用实例方法
17、创建类属性:class 类名(object):
类属性名 = 属性值
18、面向对象的作用:a、使得代码更容易理解
b、减少代码的重复使用,化繁为简
c、使得系统更灵活、更容易扩展
面向对象的应用:
案例一:
制作绝地求生游戏文字可视化界面
class Person(object):
def __init__(self, new_name):
self.name = new_name
self.gun ='AK-47'
self.bullet = 0
def add_bullet(self, num):
print("装填子弹%d颗"%num)
self.bullet = num
def shoot(self):
while True:
self.bullet -= 1
print('%s开枪射击,剩余子弹数%d'%(self.name,self.bullet))
if self.bullet == 0:
break
xiaoyi = Person("小一")
xiaoyi.add_bullet(5)
xiaoyi.shoot()
案例二:
import random
class SystemBall(object):
def __init__(self):
self.double_balls = {'红球': [], '蓝球': []}
def auto_balls(self):
reds = [red for red in range(1, 34)]
blues = [blue for blue in range(1, 17)]
for number in range(6):
red_ball = random.choice(reds)
self.double_balls['红球'].append(red_ball)
blue_ball = random.choice(blues)
self.double_balls['蓝球'].append(blue_ball)
print(“生成的双色球的号码为:”,self.double_balls)
s = SystemBall()
s.auto_balls()
案例三:
class Login(object):
def __init__(self):
self.init_username = 'admin'
self.init_password = 123456
def login_check(self):
self.username = input("请输入用户名:").strip()
self.password = int(input("请输入密码:").strip())
if self.init_username == self.username and self.init_password ==self.password:
print("登录成功!")
else:
print("登录失败!")
l = Login()
l.login_check()