一、面向对象基础
1.面向对象的思想
思考题目
比如我们班级里面每来一个学生,首先到前台报到登记,然后到班里做自我介绍?
如何用程序描述这个过程?
例如:
A同学到前台登记个人信息
A同学到班里做自我介绍
B同学到前台登记个人信息
B同学到班里做自我介绍
C同学到前台登记个人信息
C同学到班里做自我介绍
这时候我们进行的编程是利用字典遍历来进行实现
stu_info = {
'name': '张三', 'age': '18'}
stu_info2 = {
'name': '李四', 'age': '19'}
stu_info3 = {
'name': '王五', 'age': '17'}
#定义一个函数获取学生的信息
def get_stu_info(stu):
#遍历字典获取学生具体信息
for key,value in stu.items():
#注意我们需要key和value的类型
print('key=%s,value=%s'%(key,value))
#调用函数
get_stu_info(stu_info)
打印结果
二、类和对象
2.1类和对象的定义
类
定义:
类--》抽象的概念 在使用的时候通常会找到这个类的具体的存在----》对象
特点:
一个类可以找到多个对象
对象
概述:
某一个具体事物的存在,在现实世界中可以看得见摸得着
例如:
一台电脑,一个水杯,一张桌子
总结(就像是:类是对象在某一方面具有共同特征的集合)
类和对象之间的关系:
就像利用玩具模型来创建多种不同的玩具
类就是创建对象的模板
2.2类和对象的区分示例
奔驰汽车 类
奔驰smart 类
张三开的那辆奔驰smart 对象
水果 类
香蕉 类
李四吃了一半的那个苹果 对象
狗 类
大黄狗 类
王五正在牵着的那只大黄狗 对象
2.3类的构成
类(class):由3部分组成
类的名称:类名
类的属性:一组数据
类的方法:允许对其操作的方法(行为)
#设计一个人类
类名: People
属性: 身高 体重 年龄 性别
行为(方法):吃饭 睡觉
#设计一个狗类
类名:Dog
属性:身高 体重 毛色 品种 腿的数量
方法:跑 叫 啃骨头 摇尾巴
#设计一个猫类
类名:Cat
属性:身高 体重 毛色 品种 腿的数量
方法:跑 叫 吃鱼 猫抓人
2.4类的抽象
一般名词提炼法
例如:
1.坦克发射了3颗炮弹炸掉了2架飞机
坦克---->抽象成类
炮弹---->抽象成类
飞机---->抽象成类
2.小明在公车上牵了一条叼着热狗的狗
小明----->抽象出人类
公交车---->交通工具类
热狗------>食物类
狗-------->狗类
3.植物大战僵尸
豌豆------>抽象成类
类名:Wandou
属性:发型,颜色
行为:发射炮弹
向日葵---->抽象成类
类名:Xrk
属性:颜色,大小
行为:产生阳光
僵尸----->抽象成类
类名:Js
属性:颜色
行为:走 啃植物 跑
2.5定义类
class Cat: #class Cat(object):
#属性:品种,毛色,腿的数量
#方法:吃老鼠 叫 抓人
def eat(self):
print('猫吃老鼠')
def drink(self):
print('猫喝芬达...')
class Car(object):
#属性:颜色,四个轮子
#行为:跑,鸣笛
def move