矩形
class Jx(object):
def __init__(self,length,width):
self._length=length
self._width=width
@property
def length(self):
return self._length
@length.setter
def length(self,length):
self._length=length if length>0 else 0
@property
def width(self):
return self._width
@width.setter
def widrh(self,width):
self._width=width if width>0 else 0
def area(self):
return self._width*self._length
def premier(self):
return (self._length+self._width)*2
def main():
jx1=Jx(12,15)
jx2=Jx(10,8)
print("矩形1的周长是:%d"%jx1.premier())
print("矩形1的面积是:%d"%jx1.area())
print("矩形2的周长是:%d"%jx2.premier())
print("矩形2的面积是:%d"%jx2.area())
if __name__ == '__main__':
main()
self.length,加表示不能访问,如需访问需要装饰器@property 访问、@setter 修改。
圆
from math import pi
class Circle(object):
def __init__(self,radius):
self._radius=radius
@property
def radinus(self):
return self._radius
@radinus.setter
def radius(self,radius):
self._radius=radius if radius>0 else 0
def area(self):
return pi*self._radius**2
def premier(self):
return 2*pi*self._radius
def main():
circle1=Circle(5)
circle2=Circle(3.5)
print(circle1.area())
print(circle1.premier())
print(circle2.premier())
print(circle2.area())
if __name__ == '__main__':
main()
子类继承父类
class Person(object):
def __init__(self,name,age):
self._name=name
self._age=age
@property
def name(self):
return self._name
@property
def age(self):
return self._age
@age.setter
def age(self,age):
self._age=age if age>0 else 0
class Stu(Person):
def __init__(self,num,name,age):
super().__init__(name,age)
self._num=num
@property
def num(self):
return self._num
@num.setter
def num(self,num):
self._num=num
def study(self,course):
print("%s 在学习%s"%(self._name,course))
def watch_av(self):
if self._age>18:
print("%s,%d岁了,在看av"%(self._name,self._age))
else:
print("%s,%d岁了,应该看《熊出没》"%(self._name,self._age))
def main():
stu12=Stu(20180123,"王大锤",19)
stu14=Stu(201709865,"翠花",4)
stu14.study("python and politics")
print(stu14.study)
print(stu12.watch_av())
print(stu14.watch_av())
if __name__ == '__main__':
main()