🌈个人主页:羽晨同学
💫个人格言:"成为自己未来的主人~"
面向对象编程和面向过程编程
在使用计算机语言进行代码编写时,常见的两种思路是面向对象编程和面向过程编程。
面向过程:根据业务逻辑从上到下写代码。
面向对象:将数据和函数绑定在一起,分类进行封装,每个程序员只要负责分配到自己的分类,这样能够更快速地开发程序,减少了重复代码。
封装:
在面向对象编程中有三个至关重要的思想,分别是封装,继承和多态,封装中注意的概念就是类和对象了,类和对象是两种以计算机为载体的计算机语言的合称,
- 类:类是一个抽象概念,在现实世界中不存在。
- 类本质上是在现实世界中具有共同特征的事物,通过提取这些共同特征形成的概念叫做类
- 对象:对象是一个具体的概念,在现实世界中是具体存在的。
- 抽象:将具有相同特征的对象抽取共同特征的过程叫做抽象。
- 实例化:对象还有一个别名叫做:实例。通过类创建对象的过程叫做实例化。
继承
在现实生活中,继承一般指的是子女继承父辈的财产,在程序中,继承的概念就要简单得多了,即描述的是事物之间的所属关系,例如猫和狗属于动物,程序中便可以描述为猫和狗继承自动物。
所谓多继承,即子类有多个父类,并且具有它们的特征。
多态
在编程语言和计算机科学当中,多态是一个非常重要的概念,在Python中,多态指的是不同的对象类型可以以相同的方式进行操作。
子类型多态,当一个子类继承自一个父类,并且重写和拓展了父类的方法,我们就可以说这个子类是多态的,在运行时,子类对象可以替换父类对象。
python
class Aniaml:
def make_sound(self):
return "some generic sound"
class Dog(Aniaml):
def make_sound(self):
return "wangwang"
class Cat(Aniaml):
def make_sound(self):
return "miaomiao"
def animal_sound(animal):
print(animal.make_sound())
a=Aniaml()
d=Dog()
c=Cat()
animal_sound(a)
animal_sound(d)
animal_sound(c)
多态的优点
代码复用:可以写出更加通用的代码,这些代码可以与多种类型一起工作,
拓展性:通过多态,你可以轻易地添加新的类型,而无需修改现有的代码
可维护性:具有良好多态性的代码通常更容易理解和维护
多态是Python和许多其他面向对象编程语言中一个非常强大和有用的特性。