面向对象的定义?what
面向对象是一种编程思想,是一种通过多个对象相互协作互相完成功能处理流程的编程思路,主要分为类的声明和定义,对象的创建和使用,面向对象拥有的特征有封装,继承,多态
封装,对象对敏感数据的保护
继承,代码复用和功能扩展
多态,不同操作环境下代码的多样性(程序的健壮性)
思路,大量的程序开发,大量的问题解决—处理问题的固定步骤—成熟的处理方式—思路
为什么使用面向对象?why
程序的开发—软件开发—解决问题—处理数据—增删改查
处理问题的过程是多样的,根据不同的问题(复杂度)--决定是用什么样的处理过程
成熟的处理过程:面向过程【函数式编程】,面向对象。。more
面向过程:一种编程思想,函数式编程是面向过程编程思想的一种实现方式,专门处理重在过程的解决方案
整体业务流程并不复杂,需要按照一定的功能流程逐步处理,完成功能数据的结果展现
使用时的依据:业务流程并不复杂,且相对独立,不影响其他
面向对象:编写思想,类和对象是面向对象编程思想的一种实现
使用时的依据:业务流程比较复杂,业务流程相互影响和依赖,通过面向过程可以实现,但处理代码会比较繁琐而且代码冗余较多,通过面向对象的操作手段可解决此类问题
面向对象编程思想,是对面向过程编程思想的完善补充,在企业项目开发过程中,面向过程和面向对象混合开发
没有过时的技术,只有适用的场景
在哪里使用面向对象?where
面向对象业务流程比较复杂,在项目开发过程中出现了大量相似数据,互相依赖和影响的情况下,完成业务流程,此时使用面向对象的编程思想-类和对象的实现,可以很好的解决代码的问题(繁琐冗余)
怎么使用面向对象?how
人类发展过程中-认识和改造世界的过程
认知自己,认知周围,认知周边,认知世界,改造世界
项目开发的过程-认知项目功能复杂度和改造世界
类和对象
开发过程中,项目开发-代码质量
项目开发规范:PEP规范
常规情况下,遵循PEP8规范,
类的声明和定义
类是数据类型的简称可以将一类事物,通过编程方式,用代码表示出来
表示出来的是这个事物的概念,抽象,一种数据类型
声明一个类型:就是表示生活中的事务
操作步骤:
从大量的实际存在的物体【实体】中抽象他们拥有的共同的特征
从大量实际物体中抽象他们拥有的共同的行为
对象的操作
对象的操作是类型存在的实际价值
程序的实际价值,就是对数据的处理
类型只是一个声明,概念,类似函数,不含具体数据
对象是通过类型创建的,对象中会包含具体数据
代码中:通过类型,创建,使用对象的行为和属性
实例
class Pet:
def __init__(self,name,health):
self.name = name
self.health = health
def recover(self):
self.health += 5
print("{}正在恢复中...".format(self.name))
class Pet_Hospital:
def __init__(self,name):
self.name = name
def treat(self.pet):
while pet.health <=65:
print("{}正在治疗中...".format(pet.name))
pet.recover()
else:
print("{}已经恢复健康...".format(pet.name))
cat = Pet("贝贝",20)
hp = Pet_Hospital("梦之家")
hp.treat(cat)
class Person:
def __init__(self,name):
self.name = name
def drive(self,car,place):
print("{}驾驶中".format(self.name))
car.travel(place)
class Car:
def __init__(self,name):
self.name = name
def travel(self,place)
print("{}正在行驶去{}".format(self.name,place.name))
print("已经到达目的地")
class Place:
def __init__(self,name):
self.name = name
person = Person("老李")
car = Car("玛莎拉蒂")
place = Place("美国")
name.drive(car,place)