• python学习-class封装


    # 封装 类=属性+行为 抽像 -
    class StudentV2:

    # 类属性 所有的实例可以共享 。不属于任何实例的特性。
    is_people = True

    # 类方法 1、装饰器。2、参数是cls 表示类本身。
    @classmethod
    def pepole_aciton(cls):
    print("吃饭,睡觉!!")
    print(cls.is_people)


    # 初始化工作
    def __init__(self,name,stu_id,class_name,city="上海"):
    self.name = name # 实例属性
    self.stu_id = stu_id
    self.class_name = class_name
    self.city = city
    self._protect_friend = "鸡腿"
    self.__private_money = 500
    print("初始化工作完成,我已经有了具体的名字、学号、班级、城市这四个属性。")

    # 行为 self就是我,我就是self。 类实例化之后,明确我是谁。
    def attend_course(self):
    # 300行 拆成四个小功能
    self._private_func()
    print("{}正在学习类和对象。".format(self.name))
    return

    def _private_func(self):
    pass
    def __private_func_deep(self):
    pass


    # 行为
    def do_homework(self):
    print("{}在写作业中。。".format(self.name))
    return

    # 开放api,获取私有变量值。
    def get_counts(self):
    print("我有{} 个 {}".format(self.__private_money,self._protect_friend))
    #print(self._protect_friend)

    # # 实例化类的同时,会主动调用init函数。
    # luoluo = StudentV2("罗罗","222222","python17","北京")
    # print(luoluo.stu_id)
    # luoluo.attend_course() # 行为
    #
    # hukai = StudentV2("胡凯","333111","python17","深圳")
    # print(id(hukai))
    # hukai.do_homework()

    # 类属性的调用
    # print(StudentV2.is_people)
    # # print(StudentV2.name) # 类是没有name属性
    # StudentV2.pepole_aciton()

    luoluo = StudentV2("罗","222222","python17","北京")
    # print(luoluo.is_people)
    # print(luoluo.name)
    # print(luoluo._protect_friend)
    # print(luoluo.__private_money)
    # print(luoluo._StudentV2__private_money) # 改变了方式
    luoluo.get_counts()

    """
    类属性和实例属性

    类方法、实例方法

    # 私有属性、私有行为
    _XXX 私有的。类和子类的对象可以访问,提供api给你访问。

    __XXX 私有的。类的对象可以访问。
    """

  • 相关阅读:
    GUI编程之贪吃蛇
    GUI编程之Swing
    Java学习笔记01
    软件测试之使用jmeter进行压力测试
    GitHub以及Git安装的使用
    Axure RP介绍
    结对编程之四则运算
    随心开始
    JAVA入门之简介
    input之File对象的简单介绍
  • 原文地址:https://www.cnblogs.com/qsmyjz/p/11261255.html
Copyright © 2020-2023  润新知