102.继承案例一

Posted kangwenju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于102.继承案例一的主要内容,如果未能解决你的问题,请参考以下文章

译丨Yarn - Javascript 新一代套件管理

HDFS之存储优化纠删码原理纠删码案例实操 异构存储(冷热数据分离)

转义码VT102和ANSI

java中封装,继承,多态,接口学习总结

动态SQL基础概念复习(Javaweb作业5)

在案例演示中嵌入片段