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