Что касается трех типов наследования , переопределения и полиморфизма , наследование — это то, что мы используем чаще всего в повседневной работе. Когда нам нужно много похожих подклассов, если мы определим их один за другим, это будет тратить много места и времени. нам нужно только определить родительский класс, то есть определить шаблон, а затем унаследовать все атрибуты и поведение родительского класса. Фабрика массово производит определенный класс. При изготовлении механических деталей не обязательно чертить чертеж для каждого производства, а производить массовое производство по чертежу. Эту идею мы также принимаем при использовании наследования в программе, но когда мы хотим наследовать определенные изменения. сделанные для аксессуаров, мы можем использовать метод перезаписи, а полиморфизм сочетает в себе наследование и перезапись. Давайте изучим его по очереди.
Так называемое наследование означает, что сын наследует отца.
Давайте узнаем о наследовании на примерах.
classBase:#Определите родительский класс с именем Base def__init__(self,name,age,id):self.name=nameself.age=ageself.id=idprint('Унаследовал класс Base')print('Мое имя:',self .name)print('Мой возраст:',self.age)print('Мой номер ученика:' ,self.id)defgoto_school(self):print(self.name,'Использование метода goto_school в базовом классе для посещения школы')classStudent(Base): #При наследовании родительского класса все методы родительского класса будут наследоваться passxiaoming= Student('Xiaoming',20,1001)xiaoming.goto_school()
Результат:
Унаследовал базовый класс. Меня зовут: Сяо Мин. Мой возраст: 20. Мой номер ученика: 1001. Сяо Мин использует метод goto_school в базовом классе, чтобы пойти в школу.
Давайте проанализируем этот пример. Сначала мы определили класс с именем Base. Этот класс предоставляет нам метод-конструктор, включая имя, имя и номер ученика, а затем также предоставляет метод goto_school(). Затем мы определяем класс с именем Student. ниже, который наследует вышеуказанное Базовый класс, а затем мы напрямую вызываем класс Student. По результатам вывода мы видим, что даже если в классе Student ничего нет, ряд операций все равно может быть выполнен. затем, наконец, в одной строке мы также вызвали метод в Base, и его все еще можно успешно вызвать.