面向对象编程:访问限制
"""
面向对象编程:访问限制
请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:
"""
class Student(object):
def __init__(self, name, gender):
self.__name = name
self.__gender = gender
def get_name(self):
return self.__name
def get_gender(self):
return self.__gender
def set_gender(self, gender):
if gender == '男':
self.__gender = "男"
elif gender == '女':
self.__gender = "女"
else:
print("你输入的参数错误")
if __name__ == '__main__':
s = Student("taozi", '男')
print(s.get_name())
print(s.get_gender())
s.set_gender('女')
print('修改后的性别是:', s.get_gender())
s.set_gender(2)
面向对象编程:继承和多态
"""
面向对象编程:继承和多态
"""
class Animal(object):
def run(self):
print('Animal is running...')
def run_twice(self, animal):
animal.run()
animal.run()
class Dog(Animal):
def run(self):
print("dog is running~")
def eat(self):
print("eating meat...")
class Cat(Animal):
pass
class Tortoise(Animal):
def run(self):
print('Tortoise is running slowly...')
if __name__ == '__main__':
dog = Dog()
dog.run()
dog.eat()
cat = Cat()
cat.run()
print('-------')
a = Animal()
a.run_twice(Animal())
print('-------')
dog.run_twice(dog)
print('-------')
cat.run_twice(cat)
print('-------')
tortoise = Tortoise()
tortoise.run_twice(tortoise)