zoukankan      html  css  js  c++  java
  • python之封装、组合

    '''
    1、什么是封装?
        封装指的是将一堆属性和方法,封装到对象中。
        ps:存不是目的,目的是为了取。封装是为了更好的获取。
        ps:对象就相当于一个封装的容器
    
    2、为什么要封装?
        可以通过“对象”来“存放或获取”属性和方法
        方便数据的存取
        好比:一个铅笔盒里,存放着与写字有关的工具,而不会存放其他东西。
        当我们需要写字时会优先考虑到铅笔盒里选取工具
    
    3、如何封装?
        通过类来封装,关键字class
    
    '''
    
    '''
    1.什么是组合
        组合指的是一个对象中,包含另一个或多个对象。
    2.为什么要使用组合
        减少代码的冗余
    3.如何使用组合
    '''
    
    class People:
        def __init__(self, name, age, gender):
            self.name = name
            self.age = age
            self.gender = gender
    
    
    class Student(People):
        def __init__(self, name, age, gender):
            super().__init__(name, age, gender)
    
    
    class Teacher(People):
        def __init__(self, name, age, gender):
            super().__init__(name, age, gender)
    
        def tell_birth(self):
            print(f'{self.name}出生于{self.birth_obj.year}年{self.birth_obj.month}月{self.birth_obj.day}日')
    
    
    class Birth:
        def __init__(self, year, month, day):
            self.year = year
            self.month = month
            self.day = day
    
        def tell_birth(self):
            print(f'{self.year}年{self.month}月{self.day}日')
    
    
    t1_obj = Teacher('tank', 19, 'male')
    birth_obj = Birth('1995', '2', '30')
    
    # 为t1_obj添加birth属性,属性值是一个对象
    t1_obj.birth_obj = birth_obj
    t1_obj.tell_birth()
    
  • 相关阅读:
    codevs 2632 非常好友
    codevs 1213 解的个数
    codevs 2751 军训分批
    codevs 1519 过路费
    codevs 1503 愚蠢的宠物
    codevs 2639 约会计划
    codevs 3369 膜拜
    codevs 3135 River Hopscotch
    数论模板
    JXOJ 9.7 NOIP 放松模拟赛 总结
  • 原文地址:https://www.cnblogs.com/Ghostant/p/11951072.html
Copyright © 2011-2022 走看看