zoukankan      html  css  js  c++  java
  • python面向对象之封装,多态与继承

    一、继承,包括单继承和多继承

    对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类

    仅需继承父类而不必一一实现每个方法。

    实例:

    #coding=utf-8

    class Person(object):

     

        def  __init__(self,name, age):

            self.name=name      

            self.age = age 

     

        def get_age(self):

            return self.age

     

        def get_name(self):

            return self.name

     

        def set_age(self,age):

            if age>=0 and age<=150:

                self.age = age

     

        def set_name(self,name):

            self.name=name

     

    class SchoolMember(Person):

        def  __init__(self,name, age,school_name):

            Person.__init__(self,name, age)

            self.school_name = school_name

     

        def get_school_name(self):

            return self.school_name

     

        def set_school_name(self,school_name):

            self.school_name = school_name

    if __name__ == '__main__':

        p=Person("wulaoshi",28)

        print p.get_age()

        print p.get_name()

        p.set_name("laoshiwu")

        p.set_age(18)

        print p.get_age()

        print p.get_name()

    多继承实例:

    实例:写多重继承房车

    #coding=utf-8

    class Home:

        def __init__(self,area):

            print "home is running"

            self.area=area

        def set_home(self,price):

            

            self.price=price

        def get_home(self):

            return self.price

    class Car:

        def __init__(self,name):

            print "car is running"

            self.name=name

        def set_car(self,price):

            

            self.price=price

        def car(self):

            

            return Car.price

    class Ch(Home,Car):

        def __init__(self,area,name):

            Home.__init__(self,area)

            Car.__init__(self,name)

        def printch(self):

            return self.get_home,self.car

    ch=Ch(u"北京",u"特拉斯")

    print ch.printch()

    注:除了子类和父类的称谓,你可能看到过 派生类 和 基类 ,他们与子类和父

    类只是叫法不同而已。 

    二、多态:所谓多态是指同一种行为在不同的对象上有不同的表现形式。

    多态方法多态,子类继承同一个基类的方法,表现不同,如动物叫,--多态--猫叫或者狗叫

    class F1:

    pass

    class S1(F1):

    def show(self):

    print 'S1.show'

    class S2(F1):

    def show(self):

    print 'S2.show'

    三、封装:属性和方法封装成一个个体,可以直接调用,而不必关心细节

  • 相关阅读:
    《结对-航空购票系统-测试过程》
    《结对-航空购票系统-开发过程》
    课后作业-阅读任务-阅读提问-2
    《1005-构建之法:现代软件工程-阅读笔记》
    《团队-记事本程序-代码设计规范》
    Python作业:jieba库
    Python第四周作业:青蛙跳台阶、欧式距离、验证码校验、大小写互换、凯撒加密、身份证号处理
    Python汉诺塔问题
    第四周(1):利用Python计算π的值,并显示进度条
    Python第二周(1):凯撒密码B,括号配对测试,字符串反码,计算矩形面积,快乐的数字
  • 原文地址:https://www.cnblogs.com/zyy98877/p/8575483.html
Copyright © 2011-2022 走看看