inheritance & class variable DEMO
来源:互联网 发布:淘宝网店创业计划书 编辑:程序博客网 时间:2024/05/01 02:47
#quote from MIT 'introduction to computation and programming using python, Revised'import datetimeclass Person(object): def __init__(self, name): """Create a person""" self.name = name try: lastBlank = name.rindex(' ') self.lastName = name[lastBlank+1:] except: self.lastName = name self.birthday = None def getName(self): """Returns self's full name""" return self.name def getLastName(self): """Returns self's last name""" return self.lastName def setBirthday(self, birthdate): """Assumes birthdate is of type datetime.date Sets self's birthday to birthdate""" self.birthday = birthdate def getAge(self): """Returns self's current age in days""" if self.birthday == None: raise ValueError return (datetime.date.today() - self.birthday).days def __lt__(self, other): """Returns True if self'name is lexicographically less than other's name, and False otherwise""" if self.lastName == other.lastName: return self.name < other.lastName return self.lastName < other.lastName def __str__(self): """Returns self's name""" return self.name class MITPerson(Person): nextIdNum = 0 #identificaiton number def __init__(self, name): Person.__init__(self, name) self.idNum = MITPerson.nextIdNum MITPerson.nextIdNum += 1 def getIdNum(self): return self.idNum def __lt__(self, other): return self.idNum < other.idNum
%run "C:\Users\Administrator\test.py"
p1 = MITPerson('Eric Xing')
p1.getName()
Out[3]: 'Eric Xing'
p1.getLastName()
Out[4]: 'Xing'
p1.setBirthday(datetime.date(1970,9,12))
p1.getAge()
Out[6]: 16372
print p1
Eric Xing
p2 = MITPerson('Robert Miller')
p2.getName()
Out[9]: 'Robert Miller'
p2.getLastName()
Out[10]: 'Miller'
p2.setBirthday(datetime.date(1990,6, 23))
p2.getAge()
Out[12]: 9148
p1.getIdNum()
Out[13]: 0
p2.getIdNum()
Out[14]: 1
p1 < p2
Out[15]: True
p1 > p2
Out[16]: False
L = [p2, p1]
L.sort()
for e in L:
print e.getName(), e.getIdNum()
Eric Xing 0
Robert Miller 1
0 0
- inheritance & class variable DEMO
- class & inheritance in python demo
- Java - Class Inheritance 090906
- Class Variable
- CSharp OOP - Inheritance (Class inheritance, Interface implementation)
- perl---inheritance of one class
- Prevent class inheritance in C++
- python 学习之---class (inheritance)
- swift class inheritance * some codes
- 15.6. Class Scope under Inheritance
- Java: Class Variable/Static Variable
- Class Instance Variable
- Class Demo
- Class Demo
- class demo
- class之間有三種關係,inheritance,implementation和association
- Class versus Interface Inheritance 类接口继承
- Python object new style class inheritance
- 黑马程序员-java基础IO流(2)
- 黑马程序员 面向对象 单例设计模式
- 黑马程序员 面向对象 继承 抽象
- 黑马程序员 面向对象 接口
- C++指针学习
- inheritance & class variable DEMO
- 黑马程序员 面向对象 多态 需求 object
- scala 入门
- The file “XXX” couldn’t be opened because you don’t have permission to view it.
- linux内核体验
- CSDN-markdown编辑器语法——背景色
- CodeSign error: code signing is required for product type 'Application' in SDK 'i ..
- 工作篇-电商项目需求总结上
- The model used to open the store is incompatible with the one used to create the store