У меня есть класс заголовок:Что означает двоеточие?
public class Person : Human
Что делает :
значит?
Это что-то вроде расширений в Java? И для чего мне это нужно?
У меня есть класс заголовок:Что означает двоеточие?
public class Person : Human
Что делает :
значит?
Это что-то вроде расширений в Java? И для чего мне это нужно?
«:» означает «extends», если вы сравниваете его с java. Каждый класс расширяет объект по умолчанию. Вам нужно, чтобы расширить класс, я предполагаю, что вы уже знаете, что такое расширение, если вы не можете спросить.
Это может также означать «реализует», для интерфейсов. – parachutingturtle
Оператор двоеточия (:
) используется для расширения класса, например, в c++. Это означает, что Person
является конкретным видом Human
. Он может участвовать в любом контексте, относящемся к Human
(например, передается как аргумент метода), но может иметь определенное поведение (т. Е. Он может переопределять некоторые из методов Human
или добавлять новые).
Оператор ':' используется для наследования от суперкласса (синоним ключевого слова 'extends' в Java).
Почему требуется наследование - это действительно мощная концепция моделирования отношений в окружающем нас мире. Технически подклассы имеют тенденцию быть более конкретными, а суперклассы более обобщены. Например: Student : Person
. Здесь Student является подклассом, а Person - суперклассом.
class Person
{
public string name;
}
class Student : Person
{
public string id;
}
Это приводит к тому, что каждый студент тоже человек и студент будет по своей природе имеют «имя» в качестве атрибута. Но каждый человек не должен быть студентом и не будет иметь «id» неявно.
В этом случае оператор двоеточия отделяет имя класса «Человек» от базового класса «Человек». Двоеточие здесь подразумевает наследование, поэтому вы правы! Человек наследует поля/методы Человека. Вы также можете добавить к Person другие методы для предоставления ему дополнительных функций.
Вот аналогичный пост с другими функциями, доступных с оператором двоеточие: In C# what category does the colon " : " fall into, and what does it really mean?
Хотя это было уже ответил я считаю, что это так основной вопрос, и вы не должны прийти к StackOverflow, чтобы спросить что-то вы можете проверить на MSDN ... –