📜  Python OOPs概念

📅  最后修改于: 2020-10-24 09:23:03             🧑  作者: Mango

Python OOPs概念

与其他通用编程语言一样, 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.