面向对象编程就是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。我们可以通过这样修改从父类所继承来的内容。在继承中如果子类和父类中出现同名的方法,则会发生重载的现象。
以上均为个人总结,仅供参考,如果有不当的地方,请指正。