zoukankan      html  css  js  c++  java
  • 面向对象类成员之特性

    1. 类中的特性关键字 @property

    访问特性

    2. 关键字@end.setter

    设置特性

    3.普通方法需要加()来执行方法

    4.特性,不需要加()来执行,相当于通过字段来访问,即将方法伪造成一种字段,但是缺点是不能传参数。

    class Provice:
        # 静态字段,类中
        country = "China"
    
        def __init__(self, name):
            temp = "xxx"
            # 普通字段,对象中(self就是对象)
            self.name = name
    
        # 普通方法,类中
        def show(self):
            print("show")
    
        # 静态方法,()中没有self;但是可以传值
        # 静态方法属于类,通过类调用。
        @staticmethod
        def xo(bk):
            print("xo")
            print(bk)
    
        # 类方法
        @classmethod
        def xxoo(cls):
            print("xxoo", cls)
    
        # 普通方法
        def start(self):
            temp = "%s is sb" % self.name
            return temp
    
        # 特性,将方法伪造成一种字段。
        # 访问特性
        @property
        def end(self):
            temp = "%s is smart" % self.name
            return temp
    
        # 设置特性
        @end.setter
        def end(self, value):
            print(value)
            self.name = value
    
    
    obj = Provice("alex")
    ret1 = obj.start()  # 加()来执行start方法
    ret2 = obj.end  # 没有加(),就可以执行end方法。相当于通过字段来访问了。但是缺点是不能传参数。
    
    # 当需要对特性设置时。需要紧跟着再定义一个end的方法。因为前面没有接受参数的地方。
    # 关键字@end.setter
    obj.end = "xxx" # 在设置特性中打印"xxx"
    print(obj.end)  # 首先执行访问特性(obj.end),得到返回值,temp的值,然后执行(print(obj.end))
  • 相关阅读:
    如何搭建Redis集群
    AOP的作用
    IDEA上传代码到GitGub
    Runnable的作用及使用方式
    idea如何自动生成序列化ID?
    15000 字的 SQL 语句大全
    图解算法时间复杂度
    图解JVM的类加载机制(详细版)
    (转)图解排序算法之归并排序
    图解分布式id生成算法SnowFlake
  • 原文地址:https://www.cnblogs.com/xuwenwei/p/9784517.html
Copyright © 2011-2022 走看看