Python_面对对象编程

本文详细介绍了面向对象编程(OOP)的三大特性:封装、继承和多态,以及类和对象的概念。通过实例展示了如何定义类、创建对象以及使用构造方法。此外,还探讨了类方法、静态方法和Property类属性等高级特性。OOP有助于提高代码的复用性和可维护性,适合复杂的软件系统开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、面对对象编程介绍

1.1面向过程编程

“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
在python中就一句话,可以流水线的编程,调用返回值

  1. 特性:模块化,流程化
  2. 优点:体系结构更加清晰,简化程序的复杂度
  3. 缺点:可扩展性极其的差,所以说面向过程的应用场景是,不需要经常变化的软件,如:linux内核,httpd,git等软件。

1.2函数式编程

**函数式编程,或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。
比起命令式编程,函数式编程更强调程序执行的结果而非执行的过程,倡导利用简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。

1.3面向对象编程

**面向过程的编程思想将一个功能分解为一个一个小的步骤,我们通过完成一个一个的小的步骤来完成一个程序。

  1. 优点:这种编程方式,符合我们人类的思维,编写起来相对比较简单。
  2. 缺陷:这种方式编写代码的往往只适用于一个功能,如果要在实现别的功能,即使功能相差极小,也往往要重新编写代码,所以它可复用性比较低,并且难于维护。**

二、面向对象编程三大特性

2.1 对象和类

  • 类(Class) 是现实或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。
  • 类(Class)是创建实例的模板
  • 对象(Object) 是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。
  • 对象(Object) 是一个一个具体的实例
  1. 如何定义类? class 类(): pass
  2. 如何将类转换成对象?
  • 实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名 对象名 = 类名(参数1,参数2…参数n)构成。
  • Example:
  • 在这里插入图片描述
    在这里插入图片描述

2.2 封装特性

封装:顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。
所以,在使用面向对象的封装特性时,需要:
1). 将内容封装到某处
2). 从某处调用被封装的内容
1). 通过对象直接调用被封装的内容: 对象.属性名
2). 通过self间接调用被封装的内容: self.属性名
3). 通过self间接调用被封装的内容: self.方法名()

  • 构造方法‘_ _init _ _’与其他普通方法不同的地方在于,当一个对象被创建后,会立即调用构造方法。自动执行构造方法里面的内容。

  • 对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容。

  • Example:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
执行结果:
在这里插入图片描述

2.3 继承特性

在这里插入图片描述

在这里插入图片描述
继承描述的是事物之间的所属关系,当我们定义一个class的时候,可以从某个现有的class
继承,新的class称为子类、扩展类(Subclass),而被继承的class称为基类、父类或超类(Baseclass、Superclass)。

在这里插入图片描述

重写父类方法: 就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法。

在这里插入图片描述

  • Example:
    在这里插入图片描述
  • 运行程序在这里插入图片描述
    运行结果:
    在这里插入图片描述
  • 运行程序:
    在这里插入图片描述
    运行结果
    在这里插入图片描述
  • 示例:
    在这里插入图片描述

在这里插入图片描述

多继承

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

私有属性和私有方法

在这里插入图片描述
在这里插入图片描述

  • 优势:
    在这里插入图片描述

  • Example:
    在这里插入图片描述

  • 运行程序:
    在这里插入图片描述
    执行结果:
    在这里插入图片描述

  • 运行程序:
    在这里插入图片描述
    结果会报错!!

  • 在这里插入图片描述

2.4 多态特性

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。通俗来说: 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
在这里插入图片描述

  • Exampe:
    运行程序
    在这里插入图片描述
    运行结果:
    在这里插入图片描述

三、面对对象高级特性

3.1 类方法和静态方法

在这里插入图片描述

在这里插入图片描述

  • Example:
    在这里插入图片描述
    在这里插入图片描述
  • 运行程序:
    在这里插入图片描述
    运行结果:
    在这里插入图片描述

3.2 Property类属性

在这里插入图片描述

  • Example:
    运行程序
    在这里插入图片描述

运行结果
在这里插入图片描述

  • 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值