面向对象的概念


Python OOPs概念

与其他通用语言一样,python从一开始就是一种面向对象的语言。Python是一种面向对象的编程语言。它允许我们使用面向对象的方法开发应用程序。在Python中,我们可以轻松地创建和使用类和对象。


面向对象编程系统的主要原理如下。

Object对象

Class

Method

Inheritance

Polymorphism

Data Abstraction

Encapsulation


Object

该对象是具有状态和行为的实体。它可能是任何现实世界的对象,如鼠标,键盘,椅子,桌子,笔等。


Python中的所有东西都是一个对象,几乎所有东西都有属性和方法。所有函数都有一个内置属性__doc__,它返回函数源代码中定义的doc字符串。


该类可以定义为对象的集合。它是一个逻辑实体,具有一些特定的属性和方法。例如:如果您有一个员工类,那么它应该包含一个属性和方法,即电子邮件ID,姓名,年龄,工资等。


句法

class ClassName:   
        <statement-1>   
        .   
        .    
        <statement-N>

方法

该方法是与对象相关联的函数。在Python中,方法并不是类实例所特有的。任何对象类型都可以有方法。


继承

继承是面向对象编程的最重要方面,它模拟了现实世界的继承概念。它指定子对象获取父对象的所有属性和行为。


通过使用继承,我们可以创建一个使用另一个类的所有属性和行为的类。新类称为派生类或子类,其属性获取的类称为基类或父类。


它提供了代码的可重用性。


多态性

多态性包含两个词“poly”和“morphs”。Poly意味着很多,Morphs意味着形状,形状。通过多态,我们理解一个任务可以以不同的方式执行。例如,你有一个类动物,所有的动物说话。但他们说的不一样。在这里,“说话”行为在某种意义上是多态的,取决于动物。因此,抽象的“动物”概念实际上并不“说话”,但特定动物(如狗和猫)具有“说话”动作的具体实施。


封装

封装也是面向对象编程的一个重要方面。它用于限制对方法和变量的访问。在封装中,代码和数据在一个单元内被包装在一起,不会被意外修改。


数据抽象

数据抽象和封装都经常用作同义词。两者几乎是同义词,因为数据抽象是通过封装实现的。


抽象用于隐藏内部细节并仅显示功能。抽象事物意味着给事物命名,以便名称捕获函数或整个程序的核心。


面向对象与面向过程的编程语言对比

SN面向对象编程面向过程编程
1面向对象编程是解决问题的方法,用于通过使用对象进行计算的地方。 
程序编程使用指令列表逐步进行计算。
2它使开发和维护更容易。 
在程序编程中,当项目变得冗长时,维护代码并不容易。
3它模拟现实世界的实体。因此,通过oops可以轻松解决现实问题。
它不模拟现实世界。它适用于逐步指令,分为称为函数的小部分。
4它提供数据隐藏。因此它比程序语言更安全。您无法从任何地方访问私人数据。
过程语言没有为数据绑定提供任何正确的方法,因此它不太安全。
5面向对象编程语言的例子是C ++,Java,.Net,Python,C#等。 
过程语言的例子有:C,Fortran,Pascal,VB等。