070、Python 关于面向对象编程

ops/2024/10/21 14:45:55/

1、指令式编程

计算机编程起源于汇编语言和机器语言,早期的这些语言被叫做指令式编程范式(所谓编程范式就是程序设计的方法论)。程序员直接操作计算机的指令来完成任务,这种编程方式非常接近硬件。早期的代码比较少,逻辑相对比较简单,所以基本使用指令式编程就能满足需求。

2、面向过程编程

随便应用越来越复杂和要求越来越高,并随着高级编程语言(如Fortran和COBOL)的出现,面向过程编程逐渐兴起。程序员将任务分解为一系列的过程或函数,按照顺序执行这些过程来完成任务。

到70年度,C语言的出现进一步推动了面向过程编程的发展,C语言支持函数和结构化编程,使得程序设计更加模块化和可维护。

3. 面向对象编程:

在程序员使用面向过程编程进行编程的同时,伟大的程序员在探索更优的编程道路上寻找到了更优的编程方法,那就是面向对象编程。在需要设计很多代码,很多函数,很多功能的应用中,面向对象编程无疑给程序员们打开了一个新的编程世界。

不过面向对象编程也不是一下子就出来的,也是随着计算机科学的发展和编程需求的变化和前辈们一步步积累的经验成果:

  • 1960-1970年代:面向对象编程的思想开始萌芽,Simula语言被认为是第一个面向对象编程语言,它引入了类和对象的概念。

  • 1980年代:Smalltalk等面向对象编程语言的出现进一步推动了面向对象编程的发展。面向对象编程强调数据和操作的封装,继承和多态等概念。

  • 1990年代:Java和C++等面向对象编程语言的流行使得面向对象编程成为主流范式。面向对象编程被广泛应用于软件开发中,提高了代码的可重用性和可维护性。

面向对象编程(Object-Oriented Programming,OOP)是一种常见的编程范式,它将程序中的数据和操作数据的方法封装在一起,以对象为中心来组织代码。在面向对象编程中,数据被视为对象,对象之间可以相互交互,通过消息传递来实现数据处理和功能调用。

面向对象编程的核心概念:

  • 类(Class)

    • 类是对象的模板,定义了对象的属性(成员变量)和方法(成员函数)。
    • 类可以看作是一种数据类型,用于创建对象。
    • 我们可以理解类就是将有共同特征(静态特征和动态特征)的对象的共同特征抽取出来之后得到的一个抽象概念。
  • 对象(Object)

    • 对象是类的实例,具体化了类的属性和方法。

    • 类是对象的蓝图(模板),有了类才能够创建出这种类型的对象。

    • 对象是可以接收消息的实体,面向对象编程就是通过给对象发消息达到解决问题的目标。

    • 对象 = 数据 + 函数(方法):对象将数据和操作数据的函数从逻辑上变成了一个整体。

    • 每个对象都有自己的状态(属性值)和行为(方法)。

  • 封装(Encapsulation):封装是将数据和操作数据的方法捆绑在一起,隐藏了对象的内部实现细节,只暴露必要的接口给外部使用。

  • 继承(Inheritance):继承允许一个类(子类)继承另一个类(父类)的属性和方法,子类可以重用父类的代码并添加自己的特定功能。

  • 多态(Polymorphism):多态性允许不同类的对象对同一消息做出响应,即不同对象可以有相同的方法名,但具体的实现方式不同。

面向对象编程步骤:

1、定义类:

  • 数据抽象:找到和对象相关的静态特征(属性)
  • 行为抽象:找到和对象相关的动态特征(方法)

2、找对象

3、发消息

示例:

python"># 定义一个简单的类
class Dog:def __init__(self, name):self.name = namedef bark(self):print(f"{self.name} is barking!")# 创建对象
dog1 = Dog("Buddy")
dog2 = Dog("Max")# 调用对象的方法
dog1.bark()  # 输出: Buddy is barking!
dog2.bark()  # 输出: Max is barking!

面向对象编程是个很重要的编程范式。尤其对于构建复杂的软件系统,通过模块化和抽象化的方式来解决问题。可以更好地组织和管理代码,提高代码的可复用性、可维护性和可扩展性。


http://www.ppmy.cn/ops/52226.html

相关文章

高通Android13 WIFI配置国家码

不同国家,WIFI使用的信道是不同的,2.4G一共有14个信道,中国使用1-13信道,美国则使用1-11信道。因此,我们需要指定WIFI的国家码,来确定WIFI在扫描和连接过程中,可以在哪些信道上进行。 设置国家…

计算机组成原理 —— 存储系统(DRAM和SRAM,ROM)

计算机组成原理 —— 存储系统(DRAM和SRAM) DRAM和SRAMDRAM的刷新DRAM地址复用ROM(Read-Only Memory(只读存储器)) 我们今天来看DRAM和SRAM: DRAM和SRAM DRAM(动态随机存取存储器&…

第八章·Io流

Io流 文件流 文件与流 文件概念 属于文件的一种,与普通文件载体不同,文件是以硬盘为载体储存在计算机上的信息集合;是指存储在外部介质上的数据集合。可管理(增删改查),储存。 流概念 是指在计算机的输…

WebHttpServletRequestResponse(完整知识点汇总)

额外知识点 Web核心 Web 全球广域网,也成为万维网(www),可通过浏览器访问的网站 JavaWeb 使用Java技术来解决相关Web互联网领域的技术栈 JavaWeb技术栈 B/S架构:Browser/Server,即浏览器/服务器 架构模式…

Mac 开发vscode常用命令

1 打开vscode settting配置 commandshiftp 输入:Open User Setting 2

Python中的性能分析和优化

在前几篇文章中,我们探讨了Python中的异步编程和并发编程,以及如何结合使用这些技术来提升程序性能。今天,我们将深入探讨如何分析以及优化Python代码的性能,确保应用程序的高效运行! 性能分析的基本工具和方法 在进…

springMVC获取请求参数

文章目录 4、springmvc获取请求参数4.1、通过的ServletAPI获取4.2、通过控制器方法的形参获取请求参数4.3、RequestParam4.4、RequestHeaher4.5、CookieValue4.6、通过pojo获取请求参数4.7解决获取请求参数的乱码问题 4、springmvc获取请求参数 4.1、通过的ServletAPI获取 4.…

python基础语法 003-1 数据类型列表

1 列表 1.1 列表的定义 关键字:list()标识:[] 用逗号隔开使用最频繁的数据类型,列表可以完成大多数集合类型的数据结构实现支持字符、数字、字符串、甚至可以包含列表,即嵌套打印列表类型:type()1个元素的列表表示&…