zoukankan      html  css  js  c++  java
  • day16-2018-11-7 面向对象成员

    # class Person:
    #     def __init__(self, name, card_no, height, weight, address, laopo):
    #         # 实例变量. 给对象赋值
    #         self.name = name
    #         self.card_no = card_no
    #         self.height = height
    #         self.weight = weight
    #         self.address = address
    #         self.laopo = laopo
    
    # p1 = Person("马化腾", "123456789123456781", 1.60, 180, "深圳市南山区南山法院", "不知道")
    # p1.company = "腾讯" # 添加实例变量-> 字段 -> 属性(java)
    #
    # p2 = Person("刘强东", "789456132456789123", 1.65, 190, "宿迁", "奶茶妹妹")
    #
    # print(p2.name)
    # print(p1.laopo)
    #
    #
    # class Car:
    #     pass
    # c = Car()
    # c.color="123"
    
    
    class Person:
        country = "中国"
        def __init__(self,name, age):
            self.name = name
            self.age = age
    
    # Person.country = "大清"
    # print(Person.country) # 直接使用类名进行访问
    p1 = Person("alex", 185)
    p1.country = "大清" # 添加了一个实例变量
    print(p1.name)
    print(p1.country)
    
    p2 = Person("wusir", 145)
    print(p2.name)
    print(p2.country)
    
    # 类变量的修改只能通过类名来完成
    class Car:
        def run(self):
            print("会跑的车")
    
        def cul(self, a, b):
            return a + b
    
        def jump(self):
            print("you jump i jump")
    
    c = Car()
    c.run() # 调用实例方法
    print(c.cul(1 , 3))
    c.jump()
    class Person:
    
        def chi(self): # 实例方法
            print("人在吃")
    
        # 类方法
        @classmethod # 类方法
        def he(cls): # cls 类
            print(cls)
            print("我是喝")
    
        @staticmethod
        def shui():  # 在类中定义的一个普通函数
            print("和你睡不等于睡你 -- 姜文")
    
        @staticmethod
        def 上天(height):  # 在类中定义的一个普通函数
            print("上天%s" % height)
    
    
    # print(Person)
    # Person.he()
    
    # p = Person()
    # p.he() # 不管用对象还是用类去访问类方法. 默认传递进去的是类
    
    Person.shui()
    Person.上天(500)
    #
    # p = Person()
    # p.shui()
    class User:
        def __init__(self, name, birthday, qq, email):
            self.name = name
            self.birthday = birthday
            self.qq = qq
            self.email = email
    
        # 方法
        @property # 可以把一个方法变成一个属性
        def age(self):
            return 2018 - self.birthday
        '''
            @property
            1. 函数只能有一个self参数. 
            2. 需要有返回值
            3. 不能赋值
            4. 调⽤的时候, 我们不需要写括号. 直接当成属性变量来⽤就可以了
            
        '''
    u = User("王明", 1994, 1024663304, "wangming@126.com")
    print(u.age)
    u.qq = 10010
    u.age = 18
    class Person:
        def __init__(self, name): # 构造, 创建对象的时候自动调用
            self.__name = name # 私有的
            print("这里是构造方法")
    
        def init(self):
            print("实例方法")
    
        def __chi(self): # 私有的
            print("我要吃. 疯狂的吃")
    
        def he(self):
            self.__chi() # 内部调用
            print("我是喝", self.__name)
    
    p = Person("孙艺珍")
    p.he()
    # # p.__init__() # 很蠢
    # p.init()
    # print(p.__name)
  • 相关阅读:
    如何手工设置归档目录
    C#字符串格式化说明(String.Format) (zz.IS2120)
    win7 GodMode
    金山软件公司创始人求伯君简介 (is2120.zz)
    【百度地图】安卓系统的百度地图可以下载离线地图,这个很省流量和时间
    手机用笔记本wifi上网【无USB、无软件、无无线路由器】
    安卓版有道词典的离线词库《21世纪大英汉词典》等
    秀秀我的巨无霸手机P1000
    [转载]环游澳大利亚18天——前传与攻略
    [转载]环游澳大利亚18天——前传与攻略
  • 原文地址:https://www.cnblogs.com/VastTry/p/9922576.html
Copyright © 2011-2022 走看看