zoukankan      html  css  js  c++  java
  • python入门 类的继承和聚合(五)



    继承

    class Rocket:
        def __init__(self, name, distance):
            self.name = name
            self.distance = distance
    
        def launch(self):
            return "%s has reached %s" % (self.name, self.distance)
    
    
    class MarsRover(Rocket): # inheriting from the base class
        def __init__(self, name, distance, maker):
            Rocket.__init__(self, name, distance)
            self.maker = maker
    
        def get_maker(self):
            return "%s Launched by %s" % (self.name, self.maker)
    
    
    if __name__ == "__main__":
        x = Rocket("simple rocket", "till stratosphere")
        y = MarsRover("mars_rover", "till Mars", "ISRO")
        print(x.launch())
        print(y.launch())
        print(y.get_maker())
    
    simple rocket has reached till stratosphere
    mars_rover has reached till Mars
    mars_rover Launched by ISRO
    

    聚合

    class MarsRoverComp():
        def __init__(self, name, distance, maker):
            self.rocket = Rocket(name, distance) # instantiating the base
            self.maker = maker
    
        def launch(self):
            self.rocket.launch()
    
        def get_maker(self):
            return "%s Launched by %s" % (self.rocket.name, self.maker)
    
    
    if __name__ == "__main__":
        z = MarsRover("mars_rover2", "till Mars", "ISRO")
        print(z.launch())
        print(z.get_maker())
    
    mars_rover_comp has reached till Mars
    mars_rover_comp Launched by ISRO
    



  • 相关阅读:
    剑指Offer47 不用加减乘除做加法
    剑指Offer46 求1+2+...+n
    剑指Offer45 约瑟夫环
    剑指Offer44 扑克牌的顺子
    剑指Offer43 n个骰子点数概率
    面试题分享
    初识python版本
    redis安装部署
    配置本地yum源
    闭包、装饰器
  • 原文地址:https://www.cnblogs.com/wangjiale1024/p/10311399.html
Copyright © 2011-2022 走看看