59 lines
3.0 KiB
Markdown
59 lines
3.0 KiB
Markdown
|
---
|
|||
|
title: Inheritance
|
|||
|
localeTitle: наследование
|
|||
|
---
|
|||
|
# наследование
|
|||
|
|
|||
|
Наследование позволяет создать класс, который расширяет или изменяет существующий класс. Это можно использовать для создания классов, которые выводятся из других классов.
|
|||
|
|
|||
|
# Базовый класс и класс Derived
|
|||
|
|
|||
|
Это термины, используемые для классов при обращении к наследованию. Производный класс наследует базовый класс вместе с любыми переменными, функциями или процессами, которые использует базовый класс. Затем производный класс может иметь свои собственные переменные и функции наряду с теми, которые он наследует от базового класса.
|
|||
|
|
|||
|
Например, базовый класс «Животное» может иметь производный класс «Собака». Класс Animal будет содержать функции, относящиеся к животным в целом, а класс Dog содержит уникальные для собак особенности. Когда класс Dog наследует класс Animal, он сможет ссылаться на обе функции, относящиеся к животным и особенностям, уникальным для собак.
|
|||
|
|
|||
|
# Правила наследования
|
|||
|
|
|||
|
Наследование - это один из способов. Базовый класс не наследует функции производного класса.
|
|||
|
|
|||
|
Наследование транзитивно. Базовый класс «Животное» может иметь производный класс «Собака», и он может иметь производный класс «Терьер». Класс Terrier наследует как свойства класса Dog, так и класс Animal.
|
|||
|
|
|||
|
# Символ `:`
|
|||
|
|
|||
|
В C # Если `:` символ используется для обозначения наследования. Это вызывается при создании производного класса.
|
|||
|
|
|||
|
## пример
|
|||
|
|
|||
|
# Базовый класс
|
|||
|
```
|
|||
|
public class Animal
|
|||
|
{
|
|||
|
public int ID;
|
|||
|
public string title;
|
|||
|
public enum phylum;
|
|||
|
public enum dietType;
|
|||
|
|
|||
|
public DefineAnimal(int id, string name, enum phy, enum diet)
|
|||
|
{
|
|||
|
this.ID = id;
|
|||
|
this.title = name;
|
|||
|
this.phylum = phy;
|
|||
|
this.dietType = diet;
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
# Производный класс
|
|||
|
```
|
|||
|
public class Dog : Animal
|
|||
|
{
|
|||
|
public enum breed;
|
|||
|
public int levelOfTraining;
|
|||
|
|
|||
|
public void SayWoof()
|
|||
|
{
|
|||
|
Console.WriteLine("Woof");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
```
|