Lawliet|面向对象面向过程

it2024-08-16  39

1.面向对象的程序设计

对象object

——包含属性和行为,通过描述属性和行为来描述一个对象,是程序的基本单元。

对象=属性(特征)+方法(行为)

类class

——具有相同属性和方法的对象的集合,对象是类的具体实例

类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物

创建类

属性:类当中用于描述所有对象共同特征的变量或数据 方法:类当中的函数,用于区别类外面的函数,用来实现某些功能

#创建一个学生类 class Student: #定义学生属性,初始化方法 def __init__(self,name,score): ''' __init__是类的构造函数,这个方法会在创建时完成初始化 self:在python中会明确的把代表自身实例的self作为第一个参数传入 self向__init__传递参数 由于类可以起到模板的作用,所以在创建实例时,把一些认为必须绑定的属性强制填写进去''' self.name=name self.score=score #定义打印学生信息的方法 def show(self): print("Name:{}.Score:{}".format(self.name,self.score)) #具体的学生对象 st1=Student("张三",100) st2=Student("李四",99) print(st1.name,st1.score)#------>张三 100 print(st1.show())#------>Name:张三.Score:100 有了__init__()方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__()方法匹配的参数self不需要传入,python解释器自己会把实例变量传进去和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,且调用时不用传递该参数。 class Animal: def __init__(self,name): self.name=name print('动物名称实例化') def eat(self): print(self.name+'要吃东西啦!') def drink(self): print(self.name+'要喝水啦!') cat=Animal('波斯猫')#------>动物名称实例化 print(cat.name)#------->波斯猫 cat.eat()#------>波斯猫要吃东西啦! cat.drink()#------>波斯猫要喝水啦!

类继承

继承是类与类之间的一种关系,是一种子类与父类的关系用代码表示继承,语句是: class A(B): #A:子类名,B:父类名 class Person: def __init__(self,name): self.name=name print('调用父类构造函数') def eat(self): print('吃海鲜去') class Student(Person): def __init__(self): print('调用子类构造方法') def study(self): print('Python语言') s=Student() #实例化子类 ------>调用子类构造方法 s.study() #调用子类方法 ------>Python语言 s.eat() #调用父类方法 ------>吃海鲜去

2.面向过程的编程

面向过程编程:当解决一个问题时,面向过程会把事情拆分成一个个函数和数据,然后按照一定的顺序执行的问题解决。面向对象编程:面向对象会把事物抽象成对象的概念,在问题中有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。

3.各自优缺点

最新回复(0)