python面向对象编程的方法-创新互联

这篇文章将为大家详细讲解有关python面向对象编程的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、富裕网站维护、网站推广。

面向对象编程简单来说就是基于对 类 和 对象 的使用,所有的代码都是通过类和对象来实现的编程就是面向对象编程!

面向对象的三大特性:封装、继承、多态

首先创建一个类

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

一、封装

1、封装:将某些内容先封装到一个地方,等到需要的时候再去调用

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对象时会自动执行。

2、调用:调用有两种方式,通过对象直接调用和通过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

二、继承

1、继承:既派生类(子类)可以继承基类(父类)的方法,我们可以将多个类共有的方法提取到父类当中,这样子类仅需继承父类而不必一一实现每个方法

在类名后面括号中写上另一个类,表示继承了那个类

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方法。

2、多继承

在python中,类还可以继承多个类,在继承多个类时,他对类中的函数查找有两种方式

深度优先:类是经典类时,多继承情况下,会按照深度优先方式查找

广度优先:类是新式类时,多继承情况下,会按照广度优先方式查找

(在python3.x中)都默认为广度优先,但还是可以了解一下两个的区别,新式类:当前类或者基类继承了objiect类就叫新式类,否者就是经典类。

关于python面向对象编程的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:python面向对象编程的方法-创新互联
文章转载:http://hbruida.cn/article/csijod.html