📅  最后修改于: 2020-10-24 09:23:03             🧑  作者: Mango
与其他通用编程语言一样, Python自诞生以来也是一种面向对象的语言。它允许我们使用面向对象的方法来开发应用程序。在Python,我们可以轻松创建和使用类和对象。
面向对象的范例是使用类和对象来设计程序。该对象与诸如书,房子,铅笔等的实词实体相关。oops概念专注于编写可重用代码。通过创建对象来解决问题是一项广泛的技术。
面向对象编程系统的主要原理如下。
可以将类定义为对象的集合。它是具有某些特定属性和方法的逻辑实体。例如:如果您有一个雇员类,那么它应该包含一个属性和方法,即电子邮件ID,姓名,年龄,薪水等。
句法
class ClassName:
.
.
对象是具有状态和行为的实体。它可以是任何现实世界中的对象,例如鼠标,键盘,椅子,桌子,笔等。
Python中的所有东西都是对象,几乎所有东西都有属性和方法。所有函数都具有内置属性__doc__,该属性返回函数源代码中定义的docstring。
当我们定义一个类时,它需要创建一个对象来分配内存。考虑以下示例。
例:
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对象来访问class属性。 c1对象将为这些值分配内存。在下一个教程中,我们将学习有关类和对象的更多信息。
该方法是与对象关联的函数。在Python,方法不是类实例所独有的。任何对象类型都可以具有方法。
继承是面向对象编程最重要的方面,它模拟了现实世界中的继承概念。它指定子对象获取父对象的所有属性和行为。
通过使用继承,我们可以创建一个使用另一个类的所有属性和行为的类。新类称为派生类或子类,而获得属性的类称为基类或父类。
它提供了代码的可重用性。
多态包含两个词“ poly”和“ morphs”。多边形表示很多,变形表示形状。通过多态性,我们了解可以以不同方式执行一项任务。例如-您有一只动物,所有的动物都会说话。但是他们说的不一样。在这里,“说话”行为在某种意义上是多态的,并取决于动物。因此,抽象的“动物”概念实际上并不是“说话”,而是特定的动物(如狗和猫)对“说话”动作有具体的实现。
封装也是面向对象编程的重要方面。它用于限制对方法和变量的访问。在封装中,代码和数据被包装在一个单元中,以防意外修改。
数据抽象和封装都经常用作同义词。两者几乎都是同义词,因为数据抽象是通过封装实现的。
抽象用于隐藏内部细节并仅显示功能。抽象事物意味着给事物命名,以便该名称抓住功能或整个程序的核心函数。
面向对象的编程和面向过程的编程之间的区别如下:
Index | Object-oriented Programming | Procedural Programming |
---|---|---|
1. | Object-oriented programming is the problem-solving approach and used where computation is done by using objects. | Procedural programming uses a list of instructions to do computation step by step. |
2. | It makes the development and maintenance easier. | In procedural programming, It is not easy to maintain the codes when the project becomes lengthy. |
3. | It simulates the real world entity. So real-world problems can be easily solved through oops. | It doesn’t simulate the real world. It works on step by step instructions divided into small parts called functions. |
4. | It provides data hiding. So it is more secure than procedural languages. You cannot access private data from anywhere. | Procedural language doesn’t provide any proper way for data binding, so it is less secure. |
5. | Example of object-oriented programming languages is C++, Java, .Net, Python, C#, etc. | Example of procedural languages are: C, Fortran, Pascal, VB etc. |