Python 面向对象概念
像其他通用编程语言一样,Python从一开始就是一种面向对象的语言。它允许我们使用面向对象的方法开发应用程序。在Python中,我们可以轻松地创建和使用类和对象。
面向对象的范式是使用类和对象来设计程序。对象与现实世界的实体(例如书籍、房屋、铅笔等)相关。面向对象的概念侧重于编写可重用的代码。它是一种常用的通过创建对象来解决问题的技术。
面向对象编程系统的主要原则如下:
- 类
- 对象
- 方法
- 继承
- 多态
- 数据封装
- 封装
类
类可以定义为对象的集合。它是一个具有特定属性和方法的逻辑实体。例如:如果你有一个员工类,则应该包含一个属性和方法,即电子邮件id、姓名、年龄、工资等。
语法
class ClassName:
<statement-1>
.
.
<statement-N>
对象
对象是具有状态和行为的实体。它可以是鼠标、键盘、椅子、桌子、笔等现实世界的任何对象。
Python中的所有东西都是对象,几乎所有的东西都有属性和方法。所有函数都有一个内置属性doc,它返回在函数源代码中定义的文档字符串。
当我们定义一个类时,需要创建一个对象来分配内存。考虑以下示例。
示例:
class car:
def __init__(self,modelname, year):
self.modelname = modelname
self.year = year
def display(self):
print(self.modelname,self.year)
c1 = car("Toyota", 2016)
c1.display()
输出:
Toyota 2016
在上面的例子中,我们创建了一个名为car的类,它有两个属性modelname和year。我们创建了一个c1对象来访问类属性。c1对象将为这些值分配内存。我们将在下一个教程中学习更多关于类和对象的知识。
方法
方法是与对象关联的函数。在Python中,方法不是类实例的唯一性质。任何对象类型都可以有方法。
继承
继承是面向对象编程中最重要的方面,它模拟了现实世界中的继承概念。它规定了子对象获得父对象的所有属性和行为。
通过使用继承,我们可以创建一个使用另一个类的所有属性和行为的类。新类称为派生类或子类,而被获取属性的类称为基类或父类。
它提供了代码的重复使用性。
多态性
多态性包含两个词“poly”和“morphs”。Poly的意思是许多,而morph的意思是形状。通过多态性,我们理解到一项任务可以以不同的方式执行。例如-你有一个动物类,而所有的动物都会说话。但是它们说话的方式是不同的。在这里,“说话”的行为在某种意义上是多态的,它取决于动物。所以,抽象的“动物”概念实际上并不会“说话”,但是特定的动物(如狗和猫)在“说话”行为方面有具体的实现。
封装性
封装性也是面向对象编程的一个重要方面。它用于限制对方法和变量的访问。在封装中,代码和数据被封装在一个单元中,以防止意外修改。
数据抽象
数据抽象和封装经常被用作同义词。它们几乎是同义词,因为数据抽象是通过封装实现的。
抽象用于隐藏内部细节,仅显示功能。抽象某个东西意味着给它们命名,以便该名称捕捉到函数或整个程序的核心。
面向对象 vs. 过程式编程语言
面向对象编程和过程式编程之间的区别如下:
索引 | 面向对象编程 | 过程式编程 |
---|---|---|
1. | 面向对象编程是一种问题解决方法,通过使用对象进行计算。 | 过程式编程使用一系列指令逐步进行计算。 |
2. | 它使开发和维护更容易。 | 在项目变得冗长时,维护过程式编程的代码并不容易。 |
3. | 它模拟真实世界实体。因此,可以通过面向对象编程轻松解决实际问题。 | 它不模拟真实世界。它按步骤指令工作,将其分为称为函数的小部分。 |
4. | 它提供数据隐藏。因此,它比过程式语言更安全。您无法从任何地方访问私有数据。 | 过程式语言没有提供任何适当的方法来进行数据绑定,因此它不够安全。 |
5. | 面向对象编程语言的示例包括C++,Java,.Net,Python,C#等。 | 过程式编程语言的示例包括:C,Fortran,Pascal,VB等。 |