面向对象类成员之特性

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))

原文地址:https://www.cnblogs.com/xuwenwei/p/9784517.html

时间: 2024-11-10 18:18:56

面向对象类成员之特性的相关文章

面向对象类成员

面向对象类成员:字段,方法,属性 一.字段: 举个例子: class Foo: def __init__(self, name): self.name = name 其中的self.name就是字段,不过这是一个普通的字段,保存在对象中,可以通过对象去访问例如: 1 obj = Foo("DJC") 2 print(self.name) 3 4 >>>DJC 除了普通字段还有静态字段来看以下代码: class Foo: s = 123 def __init__(sel

C++ 面向对象 类成员函数this指针

每个类成员函数都只涉及一个对象, 即调用它的对象. 但有时候方法可能涉及到两个对象, 在这种情况下需要使用C++ 的 this 指针 假设将方法命名为topval(), 则函数调用stock1.topval()将访问stock1的对象数据:stock2.topval()将访问stock2的对象数据: 如果希望该方法的两个对象进行对比, 则必须将第二个对象作为参数传递给它.这时候涉及到隐式和显式: top = stock1.topval(stock2); 隐式的访问了stock1, 显示的访问了s

Python面向对象类成员特性

特性的存在就是将方法伪装成字段. property 把类方法当做普通字段去调用,即用对象调用的时候后面不用加括号 #!/usr/bin/env python # _*_coding:utf-8 _*_ class Foo:    @property    def Characteristic(self):        print("类方法的特性") # 创建一个对象 obj = Foo() # 调用类方法的时候方法后面不用加括号 obj.Characteristic 输出 /usr/

面向对象-类-成员变量-局部变量-this

1.能够理解面向对象的思想     面向对象是基于面向过程的编程思想,强调的是对象,由对象去调用功能.它是一种更符合人类习惯的编程思想,可以将复杂的事情简单化,将我们的角色从执行者变成了指挥者. 2.能够明确类与对象关系     类是客观世界中相关事物的基本特征抽象.对象是该类事物的具体体现.比如手机是一个类,而iphone7就是一个对象. 3.定义学生类 public class Student{     //成员变量     String name;     int age; //成员方法 

Python面向对象-类成员

类的成员可以分为三大类:字段.方法和属性: 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. (一)字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同 1 class Province: 2 # 静态字段 3 country = "China" 4 5 def __init__(self, name): 6 #

面向对象类成员之静态字段

class Provice: # 静态字段,类中 country = "China" def __init__(self, name): temp = "xxx" # 普通字段,对象中(self就是对象) self.name = name # 普通方法,类中 def show(self): print("show") hebei = Provice("河北") henan = Provice("河南") #

面向对象类成员之静态方法

# 静态方法,()中没有self;但是可以传值# 静态方法属于类,通过类调用.# 一般不推荐通过对象来调用静态方法.(可以调用,但不推荐)# 关键字@staticmethod# 访问静态方法时,不需要创建对象,用"类.方法"直接访问.相当于创建一个函数. class Provice: # 静态字段,类中 country = "China" def __init__(self, name): temp = "xxx" # 普通字段,对象中(self

面向对象类成员之类方法

# 类方法,属于类,通过类来调用. # 自动传参cls class Provice: # 静态字段,类中 country = "China" def __init__(self, name): temp = "xxx" # 普通字段,对象中(self就是对象) self.name = name # 普通方法,类中 def show(self): print("show") # 静态方法,()中没有self;但是可以传值 # 静态方法属于类,通过类

2Python全栈之路系列之面向对象进阶及类成员

Python全栈之路系列之面向对象进阶及类成员 再次了解多继承 先来一段代码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ class A:     def bar(self):         print("BAR")         self.f1()          class B(A):     def f1(self):         print("B")          class C:     def