面向对象编程就是OOP(Object Oriented Programming)编程,区别于面向过程编程。面向对象编程适用于开发比较大的项目,以更接近人的思维角度去编写程序。

1.类和对象

:具有某种特征事物的集合(群体)。

对象:群体(类)里面的个体。具有具体性。

类是抽象的,对象是具体的。

创建的方法

class 类名:
    类里面的内容

给类创建一个对象就叫实例化。格式如下:

a=类名()

构造函数是类在实例化时候自动首先触发的方法。本质上与函数相似。格式如下,其中必须加入self参数,代表其本身。

class 类名:
    def _init_(self,参数)

我们在类中写入构造函数,是为了在对象创建的时候,可以写入一些初始化的值。如某些对象的共同特点,或者是防止某些对象的值为空,发生异常。

2.属性和方法

属性:静态的特征。好比人的头发,肢体等等。

方法:动态的特征。好比人可以写字或者画画等等。

属性在类中即为变量。格式:

class 类名:
    def _init_(self,参数):
        slef.属性名=参数

在调用时候,首先将类实例化,实例名.属性名。

方法可以理解为类里的函数。格式如下:

class 类名:
    def 方法名(self,参数):
        方法内容

在调用时候,首先将类实例化,实例名.方法名。

方法与构造函数有所区别,构造函数在实例化得时候需要将参数传入,而方法则是在调用函数的时候传入参数。

3.集成与重载

继承:把某一个或多个类(基类)的特征拿过来。

重载:在子类(派生类)里面对继承过来的特征重新定义。

父类:基类。

子类:派生类。

3.1继承

继承分为单继承和多继承。单继承即指父类只有一个,多继承指父类有多个。

单继承:

class 父类_1:
    def _父类_1(self):
        内容

class 子类_1(父类_1):
    pass

多继承:

class 父类_1:
    def _父类_1(self):
        内容
class 父类_2:
    def _父类_2(self):
        内容
clss 子类_1(父类_1,父类_2):
    def _子类_1(self)
        内容

该继承方法使子类_1不仅具有父类_1和父类_2所包含的内容,也具有自己的新内容。

3.2重载

将从父类继承来的内容进行重写,例如:

class 父类_1:
    def _父类_1(self):
        print(1)

class 子类_1(父类_1):
    def _父类_1(self):
        print(2)

上面的例子如果调用子类_1的方法,输出的结果为2。我们可以通过这样修改从父类所继承来的内容。在继承中如果子类和父类中出现同名的方法,则会发生重载的现象。

 

以上均为个人总结,仅供参考,如果有不当的地方,请指正。