类变量和对象变量的深入了解(续)

一、如何创建可管理的对象属性—
1.1,使用get_(self) #获取变量
和set_(self) #设置变量
类变量和对象变量的深入了解(续)
#定义一个grander类,类中定义两个方法,set_age()用来设置age这个变量参数,get_age()用来获取age这个变量
#使用property()方法,将get和set两个方法传进去
类变量和对象变量的深入了解(续)
#res.R实现了形式上是属性访问
实际上是调用类中的方法
此时print的结果是抛出的异常
类变量和对象变量的深入了解(续)

二、相同类和不同之间的比较
2.1 相同类之间的比较大小
#导入funtools 模块,使用其中total_ordering方法作为装饰器
以此实现(>=/ <=)多种方法类变量和对象变量的深入了解(续)
#定义一个类实现比较大小的方法
在_lt_()和_eq_()方法中实现area()方法
类变量和对象变量的深入了解(续)
#不需要调用类中的方法直接对 a b两个对象进行比较

三、不同类之间的比较–
3.1,#使用抽象基类 定义area(self);两个子类必须重写
因为此实例中area()方法实现的是求面积
3.2 #如二中相同类之间比较的例子一样,都要使用到比较的方法
lt() 和 eq() 所以使用子类需要继承父类的两个方法
类变量和对象变量的深入了解(续)
3.3,如下图两个子类的继承自父类A
并各自实现父类中area()方法的重写(抽象基类)
类变量和对象变量的深入了解(续)
3.4,实例化两个子类,实现两个不同类之间的比较:
类变量和对象变量的深入了解(续)
类变量和对象变量的深入了解(续)