人工智能系列-Python面向对象编程

🌈个人主页:羽晨同学

💫个人格言:"成为自己未来的主人~"

面向对象编程和面向过程编程

在使用计算机语言进行代码编写时,常见的两种思路是面向对象编程和面向过程编程。

面向过程:根据业务逻辑从上到下写代码。

面向对象:将数据和函数绑定在一起,分类进行封装,每个程序员只要负责分配到自己的分类,这样能够更快速地开发程序,减少了重复代码。

封装:

在面向对象编程中有三个至关重要的思想,分别是封装,继承和多态,封装中注意的概念就是类和对象了,类和对象是两种以计算机为载体的计算机语言的合称,

  • 类:类是一个抽象概念,在现实世界中不存在。
  • 类本质上是在现实世界中具有共同特征的事物,通过提取这些共同特征形成的概念叫做类
  • 对象:对象是一个具体的概念,在现实世界中是具体存在的。
  • 抽象:将具有相同特征的对象抽取共同特征的过程叫做抽象。
  • 实例化:对象还有一个别名叫做:实例。通过类创建对象的过程叫做实例化。

继承

在现实生活中,继承一般指的是子女继承父辈的财产,在程序中,继承的概念就要简单得多了,即描述的是事物之间的所属关系,例如猫和狗属于动物,程序中便可以描述为猫和狗继承自动物。

所谓多继承,即子类有多个父类,并且具有它们的特征。

多态

在编程语言和计算机科学当中,多态是一个非常重要的概念,在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和许多其他面向对象编程语言中一个非常强大和有用的特性。

相关推荐
2501_944521593 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理3 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1145 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人6 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521597 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
信誓旦旦的程序猿7 小时前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
2501_944521597 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
Patrick在香港7 小时前
同一行 strftime,两台机器跑出两种日期
python·datetime·时区·locale·日期处理
2601_967987377 小时前
用Python+OpenCV+YOLO写个游戏脚本:从自动瞄准到自动采集的保姆级教程
python·opencv·yolo·目标检测·游戏自动化
meiying88387 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化