2020-11-08 Windows应用程序设计作业(Python版实现)(二)面向对象编程

Windows应用程序设计作业(Python版实现)

作业2-面向对象编程
PS:涉及个人信息,所以这一部分只分享下问题与反思噢~
问题与反思:

  1. https://www.runoob.com/python/python-object.html
    python继承、多态、抽象、接口、事件等基本语法
  2. 方法的重用,通过实例化子类,输出结果进一步理解执行过程
  3. python封装的思想,面向对象的编程,对用户更加透明:通过接口统一进行访问,而对底层实现并不关心
  4. 在面向对象编程中,进一步增加了程序的可读性,模块化编程的思想更加明晰,提高函数的复用性。
  5. python3中的继承有多继承、单继承。两点原则:
    (1)子类在调用某个方法或变量的时候,首先在自己内部查找,如果没有找到,则开始根据继承机制在父类里查找。
    (2)根据父类定义中的顺序,以深度优先的方式逐一查找父类!
    见:https://www.cnblogs.com/ostrich-sunshine/p/9415698.html

以下是不完整代码:

import time
class XXXXX:   				   # 定义父类
    __securityinfo = 0         # 私有变量
    public_visit_info = 0      # 公开变量
    def visit(self):
        self.__securityinfo += 1
        self.public_visit_info += 1
        print("父进程中私有变量的值:", self.__securityinfo)
        
    def __init__(self, name, location, offWebsite, oph):
        self.name = name            
        self.location = location     
        self.offWebsite = offWebsite
        self.oph = oph             
    def visitWelcom(self):
        print ("欢迎来到:", self.name)
        print ("办公位置:", self.location)
        print ("官方网址:", self.offWebsite)
        print ("办公电话:", self.oph)
    def function(self):
        pass
        
class Child1(XXXXX): 
    # 继承XXXXX类
    def function(self):
        print("child1" + self.name)

class Child2(XXXXX): 
    # 继承XXXXX类
    def grassrootsOrganizations(self):
        print("Grassroots organizations!")
    # 方法重写
    def visitWelcom(self):
        print ("欢迎来到:", self.name)
        print ("办公单位:", self.location)
        print ("官方网址:", self.offWebsite)
    def function(self):
        print("child2" + self.name)

class Child3(Child1):
    # 方法重写
    def visitWelcom(self):
        print ("欢迎来到:", self.name)
        print ("办公单位:", self.location)
        print ("官方网址:", self.offWebsite)

class Child4(Child3):   
    cnt = 0
    def __init__(self, name, sid, specialty):
        self.name = name
        self.sid = sid
        self.specialty = specialty
        Child4.cnt += 1
    def displayCount(self):
        print ("Child4.cnt " % Child4.cnt)
    def displayinfo(self):
        print ("姓名 : ", self.name, ", ID : ", self.sid, ")

# 可以定义接口统一来使用
def func_display(obj):
    obj.function()
def visit_display(obj):
    obj.visit()

if __name__ == '__main__':
    # 实例化子类,并进行调用
    pass

那写看似毫无波澜的日复一日,会在某一天 让你突然发现努力的意义。
无悔昨天 & 感谢今天 & 喜欢明天~

一以贯之的努力,不得懈怠的人生。每天的微小积累,会决定最终的结果,这 就是答案!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值