面向对象思想
面向对象三大特性:封装、继承、多态
1、封装:核心思想是分,划分类人类车类。函数是对语句封装,类是对函数和变量的封装
2、继承:封装之后紧跟着继承,定义:将相关类共性进行抽象,统一概念,隔离变化
3、多态:父类的同一种动作或者行为,在不同的子类上有不同实现,彰显子类个性。多种形态。三个步骤:
(1)调用父类方法,通俗讲是先用
(2)子类重写,通俗讲父类后定义方法
(3)创建子类
目的:
(1)在继承的基础上,体现类型的个性化(一个行为有不同的实行)
(2)增强程序扩展性,体现开闭原则。
案例:
需求:老张开车去东北
变化:面向对象很好解决需求变化,关注变化,拥抱变化
比如刚开始只有汽车,后面增加飞机、火车
封装:划分类 人类 车类
继承:隔离 人类 交通工具
多态:调用父类,子类产生多种形态

# 需求张三开车去东北
# 人和交通工具
# 人有名字 和 去的方法
# 中间是交工工具
# 最后一个类是具体交通工具比如汽车、飞机
class Proson:
def __init__(self, name=None):
self.name = name
def go_to(self, posttion, vehicle):
print(self.name + "使用" + vehicle.name + "去" + posttion)
vehicle.transport()
class Vehicle:
"""
交通工具没有具体代码,作用隔离人与交通工具
"""
def transport(self):
pass
class Car(Vehicle):
def __init__(self, name=None):
self.name = name
# 重写父类transport方法,实现多态
def transport(self):
print("汽车在行驶....")
class Feijing(Vehicle):
def __init__(self, name=None):
self.name = name
def transport(self):
print("飞机在飞行....")
p1 = Proson("张三")
c1 = Car("汽车")
p1.go_to("东北", c1)
f1 = Feijing("飞机")
p1.go_to("北极", f1)
-------------输出---------------
张三使用汽车去东北
汽车在行驶....
张三使用飞机去北极
飞机在飞行....
设计原则
(1)开闭原则
-
对扩展开放,对修改关闭
-
增加新功能,不改变原有代码
(2)类的单一职责
1. 一个类有且只有一个改变他的原则。
浙公网安备 33010602011771号