面向对象基础4
面向对象
面向对象:以对象为中心,通过定义对象的属性和方法来描述事物,在调用对象方法完成任务
面向过程:以过程为中心,解决问题的步骤和流程。通过函数实现具体操作,按照顺序调用函数完成任务
代码复用性:
1.面向过程;复用性低,每个函数为特定任务设计,代码难以复用
2。面向对象:复用性高,对象可以在不同的场景重复使用,通过继承和多态实现代码复用
优缺点:
1.面向过程优点,流程明确,效率高,适合底层操作 ,缺点 代码复用性低,扩展差,维护难度大 适合底层算法实现 、性能要求高的场景
2,面向对象优点,易维护、扩展,复用,有封装、继承、多态特性,缺点 性能比面向过程低 适合复杂的系统设计、需要高可维护性的场景
类和对象
1.类:是对一系列具有相同属性和行为的事物统称,是一个抽象的概念,不是真实存在的事物
基本格式:
class 类名:
代码块
类的三要素:
2.1.类名
2.2.属性:对象的特征描述
2.3.方法:对象具有的功能(行为)
注意:
1.先有类,在有对象
2.类只有一个,对象可以有很多个
2.对象:类的具体表现,是面向对象编程的核心
创建对象的格式:
对象名 = 类名()
3.实例方法和属性
实例属性:
对象调用,至少有一个self参数,self参数是类中的实例方法必须具备的
class washer: #定义一个洗衣机类
height=89 #类的属性宽度高度
weight= 59
def wash(self): #类的方法就是一个函数
print('我是一个洗衣机我会洗衣服')
#实例化对象 wa是创建的对象名
wa=washer()
#调用方法
wa.wash()
实例方法:
格式: self.属性名
class Person:
name = 'xiaowu' #类属性
def introduce(self): #实例方法
print("我是实例方法")
print(f"{Person.name}的年龄:{self.age}") #self.age 实例属性
pe = Person() #pe是对象名
pe.age=18
pe.introduce
实例属性和实例方法的区别
类属性 属于类,是公共得,大家都能访问得到,实例属性是属于对象的,是私有的
只能由对象名访问,不能有类名访问
函数构造 __init__()
作用:通常用来做属性初始化或者赋值操作
class Person: #定义一个人类
def __init__(self,name,age,heigth):
self.name=name
self.age=age
self.height=heigth
def play(self):
print(f"{self.name}在玩开心消消乐")
def introduct(self):
print(f"{self.name}的年龄是{self.age},身高是{self.height}")
#实例化对象
pe = Person('肖卉',24,156)
#调用方法
pe.play()
pe.introduct()
#实例化第二个对象
pe2=Person('啊柔',18,178)
#调用方法
pe2.play()
pe2.introduct()
浙公网安备 33010602011771号