很多小伙伴想知道在python中如何使用面向对象编程?那么今天小编就通过这篇文章来给大家分享一下非常实用的方法吧。

python如何面向对象编程?这篇文章讲解的非常透彻

什么是面向对象编程?面向对象编程从简单的角度来说,就是基于对“类”和“对象”的运用,而且所有的代码都是通过这两个东西来实现的编程就是面向对象编程。

大家一定要记住面向对象的三大特性的知识点:封装、继承、多态。

那么如何使用面向对象编程?首先我们需要创建一个类:

#使用class创建一个School类,类中有个student方法
class School:
    def student(self):
        pass
a1=School()

(一)封装

将某些内容先封装到一个地方,等到需要的时候再去调用,类似于提前打包好。

class School:    def __init__(self,name,age):    #构造方法,创建对象是执行
        self.name=name
        self.age=age#创建对象a1,a2a1=School("zhangsan",18)
a2=School("lisi",18)

小编带来的代码就是实现封装的功能,把各自的name和age分别封装到了self的name和age属性中,就等于被封装到了对象a1和a2中

类中定义的函数叫做方法,带有__init__的函数称为构造方法,在创建a1,a2对象时会自动执行。

调用有两种方式,通过对象直接调用和通过self间接调用,通过对象直接调用,如下代码所示:

class School:    def __init__(self,name,age):
        self.name=name
        self.age=age    def student(self):        print("name:%s,age:%s"%(self.name,self.age))#
创建对象a1,a2a1=School("zhangsan",18)
a2=School("lisi",18)
print a1.name,a1.age
print a2.name,a2.age#执行结果: zhangsan 18
      lisi 18

我们也可以使用self间接调用

class School:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def student(self):
        print("name:%s,age:%s"%(self.name,self.age))
#创建对象a1,a2
a1=School("zhangsan",18)
a2=School("lisi",18)

#执行类中的方法时,通过self间接调用被封装的内容
a1.student()
a2.student()
#执行结果:
#name:zhangsan,age:18
#name:lisi,age:18

(二)继承

继承:既子类(派生类)可以继承父类(基类)的方法,我们可以通过将多个类共有的方法提取到父类当中,这样子的话,类只要继承父类就可以了,可以省掉很多多余的步骤,不用一一去继承了。

在类名后面括号中写上另一个类,表示继承了那个类,代码如下所示:

class School:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def student(self):
        print("name:%s,age:%s"%(self.name,self.age))
    def classroom(self):
        print("%s去教室"%self.name)

class SchoolA(School):  #SchoolA继承School
    def __init__(self,name):
        self.name=name

class SchoolB(SchoolA): #SchoolB继承SchoolA
    def __init__(self,name):
        self.name=name
#创建对象a1
a1=SchoolA("zhangsan")
a1.classroom()
#创建对象a2
a2=SchoolB("lisi")
a2.classroom()

#执行结果:
#   zhangsan去教室
#   lisi去教室

在上面代码中我们可以看到,在SchoolA和SchoolB中都没有classroom方法,但由于SchoolB继承了SchoolA,而SchoolA又继承了School,所以他们创建对象后都能调用School中的classroom方法。

以上就是小编给大家带来的在python中如何面向对象编程的方法了,希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话,可以多多分享给有需要的人。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!