day 17 面向对象-成员

Day17面向对象-成员

变量
1.成员变量(实例变量)(字段column)
2.类变量(静态变量)直接写在类中的,共享出去的
方法
1.成员(实例)方法,加了self的调用的时候.必须用对象去访问
2.类方法.当方法需要传递类名的时候,需要类方法.规范规则:在上方加@classmethod
3.静态方法,当你的方法不需要传递当前类的对象的时候.语法规则:在上方加@staticmethod
属性
用方法来描述我们的属性信息
注意:
1.@property 改变一个方法成为属性
2.这个方法只能有一个参数
3.必须有返回值

私有
只能在自己的类中访问
__方法
__变量
__类变量

#变量
class Person:
    country="中国"   #类变量.不属于对象.对象可以访问
    def __init__(self,name,num,gender,birthday):
        #成员变量(实例变量)
        self.name=name
        self.num=num
        self.gender=gender
        self.birthday=birthday

    #对象来访问(成员方法)   (实例方法)
    def marry(self,duifang):
        print("人会结婚%s" % duifang)

alex=Person("李杰",10086,"男","昨天")
alex.country="澳大利亚"   #这里和变量没有关系,alex单独加了一个属性叫country="澳大利亚
wusir=Person("吴佩琪",10010,"女","今天")

print(alex.country)   #澳大利亚#拿到的是自己
print(wusir.country)  #中国
print(Person.country)  #中国

# 总结:类变量,用类名去操作.

# 方法
class Person:
    def __init__(self):
        pass
    #实例方法需要传递类的对象   self
    def think(self):
        print("人能思考")
    #静态方法不需要传递对象或者类
    @staticmethod#静态方法
    def jisuan(a,b):
        print("我来过这里")
        return a+b


    #类方法:第一个参数传递的是类名
    @classmethod
    def clsMethod(cls):
        p=cls()
        print("我是一个类方法",p)
p=Person()
p.think()

Person.think(p)
# 静态方法的调用
# 类名访问
# 静态的内容也用类名访问


# 属性
class Person:
    def __init__(self,name,num,gender,birthday):
        self.name=name
        self.num=num
        self.gender=gender
        self.birthday=birthday
    @property
    def age(self):   #方法只有一个参数,self
        return 10  #必须有返回值
p=Person("alex","10086","不详","1894943")
print(p.age)

# 私有
class Tiger:
    def __init__(self,name,waibiao,qingzheng,qingfu,money,fangchan):
        self.name=name
        self.waibiao=waibiao
        self.qingzheng=qingzheng
        self.__qingfu=qingfu
        self.__money=money
        self.__fangchan=fangchan
    def buy(self):
        print("我有%s" % self.__money)
        self.__sel()
    def __sel(self):
        print("我要卖掉%s" % self.__fangchan)
lh=Tiger("alex","正直","刚正","小潘潘",10000000,5)
lh.buy()


# 成员:
class Person:
    def __init__(self,name,num,gender,birthday):
        self.name=name
        self.num=num
    #对象来访问(成员方法)(实例方法)
    # 成员:在类中定义的变量和方法都被称为成员

 

猜你喜欢

转载自www.cnblogs.com/litieshuai/p/9715205.html