zoukankan      html  css  js  c++  java
  • 102.继承案例一

    继承案例一

    我们像要编写一个网站,网站只有三个页面,首页,新闻页,产品展示页,我们可能进行如下实现

    1.首页
    #首页
    class HomePage(object):
        #头部信息
        def header(self):
            print("头部信息!")
    
        #底部信息
        def footer(self):
            print("底部信息!")
    
        #主体部分
        def body(self):
            print("首页主体部分内容")
    2.新闻页
    #新闻页
    class NewsPage(object):
        #头部信息
        def header(self):
            print("头部信息!")
    
        #底部信息
        def footer(self):
            print("底部信息!")
    
        #主体部分
        def body(self):
            print("新闻页主体部分内容")
    3.产品页
    #产品页
    class ProductPage(object):
        #头部信息
        def header(self):
            print("头部信息!")
    
        #底部信息
        def footer(self):
            print("底部信息!")
    
        #主体部分
        def body(self):
            print("产品页主体部分内容")

    以上实现,我们可以发现,三个页面,除了主体部分不同之外,那么头部和底部信息是完全一致的,但是三个页面我们需要写上相同的代码,当我的头部和底部发生改变的时候,那么就需要每个页面都要更改,维护量和维护难度就增加不少。假如网站有10000个页面,那么这个维护量是灾难性的重复劳动。

    如何解决呢?我们可以将公共部分剥离出去,单独写一个类,让其他页面继承这个公共页面.

    #公共部分
    class BasePage(object):
        #头部信息
        def header(self):
            print("头部信息!")
    
        #底部信息
        def footer(self):
            print("底部信息!")
    
    #首页
    class HomePage(CommonPage):
        #主体部分
        def body(self):
            print("首页主体部分内容")
    
    #新闻页
    class NewsPage(CommonPage):
        #主体部分
        def body(self):
            print("新闻页主体部分内容")
    
    #产品页
    class ProductPage(CommonPage):
        #主体部分
        def body(self):
            print("产品页主体部分内容")

    例子:

    # 自定义一个基类
    class BasePage(object):
        # 头部
        def header(self):
            print("新年头部")
    
        # 底部
        def footer(self):
            print("新年底部")
    
    # 自定义一个首页类
    class HomePage(BasePage):
    
        # 中间部分
        def boby(self):
            print("首页中间部分")
    
    # 自定义一个新闻页
    class NewsPage(BasePage):
    
        # 中间部分
        def boby(self):
            print("新闻中间部分")
    
    
    # 自定义一个产品页
    class ProductPage(BasePage):
    
        # 中间部分
        def boby(self):
            print("产品中间部分")
    
    pp = ProductPage()
    pp.header()
    pp.boby()
    pp.footer()
  • 相关阅读:
    tcp示例
    udp示例
    str 和 bytes
    Xamarin UIProgressView自定义
    个人用Canvas开发HTML5小游戏
    canvas画一个h5小游戏
    用canvas写一个h5小游戏
    react js踩坑之路(一)
    捣腾一下 webpack+gulp 使用姿势~
    关于移动端的适配
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12878160.html
Copyright © 2011-2022 走看看