0220324/Python
/17.类与对象/03.继承.py
# 17.类与对象/03.继承.py
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def get_grade(self):
return self.grade
class Teacher(Person):
def __init__(self, name, age, subject):
super().__init__(name, age)
self.subject = subject
def get_subject(self):
return self.subject
student1 = Student('张三', 18, '高一')
teacher1 = Teacher('李四', 35, '数学')
print(student1.get_name(), student1.get_age(), student1.get_grade())
print(teacher1.get_name(), teacher1.get_age(), teacher1.get_subject())
# 输出:张三 18 高一
# 李四 35 数学
/17.类与对象/01.类的定义和基本使用.py
# 17.类与对象/01.类的定义和基本使用.py
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
def introduce(self):
print(f'我叫{self.name},今年{self.age}岁。')
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def get_grade(self):
return self.grade
class Teacher(Person):
def __init__(self, name, age, subject):
super().__init__(name, age)
self.subject = subject
def get_subject(self):
return self.subject
# 创建对象
student1 = Student('张三', 18, '高一')
teacher1 = Teacher('李四', 35, '数学')
# 调用方法
student1.introduce()
teacher1.introduce()
/17.类与对象/05.类的继承和多态.py
# 17.类与对象/05.类的继承和多态.py
# 继承
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "汪汪汪!"
class Cat(Animal):
def speak(self):
return "喵喵喵!"
# 多态
class AnimalFactory:
def create_animal(self, animal_type):
if animal_type == 'dog':
return Dog()
elif animal_type == 'cat':
return Cat()
else:
raise ValueError("不支持的动物类型")
# 创建对象
dog = AnimalFactory().create_animal('dog')
cat = AnimalFactory().create_animal('cat')
# 调用方法
print(dog.speak())
print(cat.speak())
# 输出:汪汪汪!
# 喵喵喵!
/17.类与对象/04.类的继承和多态.py
# 17.类与对象/04.类的继承和多态.py
# 继承
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
def speak(self):
return "汪汪汪!"
class Cat(Animal):
def __init__(self, name):
super().__init__(name)
def speak(self):
return "喵喵喵!"
# 多态
class AnimalFactory:
def create_animal(self, animal_type):
if animal_type == 'dog':
return Dog()
elif animal_type == 'cat':
return Cat()
else:
raise ValueError("不支持的动物类型")
# 创建对象
dog = AnimalFactory().create_animal('dog')
cat = AnimalFactory().create_animal('cat')
# 调用方法
print(dog.speak())
print(cat.speak())
# 输出:汪汪汪!
# 喵喵喵!
/17.类与对象/02.类的使用和方法.py
# 17.类与对象/02.类的使用和方法.py
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
# 创建对象
person1 = Person('张三', 25)
# 调用方法
print(person1.get_name()) # 输出:张三
print(person1.get_age()) # 输出:25
/17.类与对象/06.类的封装和抽象.py
# 17.类与对象/06.类的封装和抽象.py
# 封装
class Person:
def __init__(self, name, age):
self.__name = name # 私有属性,只能在类内部访问
self.__age = age