-
Как называется неявный параметр, передаваемый в метод set свойства?
значение, тип которого совпадает с объявленным типом свойства.
Как реализовать наследование в C#?
Добавьте двоеточие после имени класса, а затем имя базового класса.
Поддерживает ли C# множественное наследование?
Не поддерживается. Этого можно добиться с помощью интерфейсов.
Где можно получить доступ к защищенным свойствам/методам?
Доступ к нему можно получить путем наследования или косвенного наследования и подклассов этого класса.
Будут ли наследоваться частные члены?
Да, но доступ к нему невозможен. Так что кажется, что они не могут передаваться по наследству, но на самом деле они наследуются. (По моему мнению, подкласс наследует все от родительского класса. <Мышление на JAVA> говорит, что объект подкласса имеет полную копию объекта родительского класса. Создание экземпляра класса происходит из суперкласса верхнего уровня, это слой- структура оболочки по уровням. Частный метод ограниченного доступа может находиться только внутри класса. Это всего лишь элемент управления доступом. Фактически, объект подкласса владеет всем объектом родительского класса.)
Пожалуйста, опишите модификатор protected Internal.
Доступ к свойствам/методам, измененным protected Internal, возможен только для его подклассов в той же сборке (Assembly).
C# предоставляет конструктор без параметров по умолчанию. Когда я реализую другой конструктор с одним параметром, я также хочу сохранить этот конструктор без параметров. Сколько конструкторов мне следует написать таким образом?
Во-вторых, как только вы реализуете конструктор, C# больше не будет предоставлять конструктор по умолчанию, поэтому вам придется вручную реализовать конструктор без параметров.
Какой базовый класс является общим для всех объектов в C#?
Система.Объект.
В чем разница между перегрузкой и перезаписью?
Перегрузка обеспечивает реализацию вызова сигнатуры метода с разными параметрами. Переопределение обеспечивает реализацию в подклассе, которая изменяет поведение метода родительского класса.
Что означает виртуальный в определении метода?
Методы, модифицированные виртуальными, могут быть переопределены подклассами.
Можно ли переопределить нестатические методы в статические?
Нет, подпись переопределяющего метода должна соответствовать сигнатуре переопределяемого метода, за исключением замены виртуального метода на переопределенный.
Можно ли переопределить частные виртуальные методы?
Нет, даже частные методы родительского класса не могут быть доступны в подклассе.
Можно ли предотвратить наследование класса другими классами?
Да, используйте ключевое слово «запечатано».
Можно ли разрешить наследование определенного класса, но не разрешить переопределение определенного метода в нем?
Да, отметьте этот класс как общедоступный и отметьте этот метод как запечатанный.
Что такое абстрактный класс?
Класс, экземпляр которого невозможно создать. Абстрактные классы обычно содержат абстрактные методы, но, конечно, они также могут иметь конкретные реализации. Унаследованный класс может быть создан только после того, как он реализовал все абстрактные методы абстрактного класса.
Когда класс должен быть объявлен абстрактным?
Когда этот класс содержит абстрактные методы или когда класс не полностью реализует абстрактные методы родительского класса.
Что такое интерфейс?
Классы, содержащие только общедоступные абстрактные методы. Эти методы должны быть реализованы в подклассах.
Почему я не могу указать модификаторы для методов в интерфейсе?
Методы интерфейса используются для определения контракта для связи между объектами. Нет смысла указывать методы интерфейса как частные или защищенные. По умолчанию они используют публичные методы.
Могу ли я наследовать несколько интерфейсов?
конечно.
А что, если в этих интерфейсах есть повторяющиеся имена методов?
В этом случае вы сами можете решить, как это реализовать. Конечно, нужно быть очень осторожным. Но в процессе компиляции проблем нет.
В чем разница между интерфейсом и абстрактным классом?
Все методы в интерфейсе должны быть абстрактными, модификаторы доступа к методам не могут быть указаны. Абстрактные классы могут иметь реализации методов, а также могут указывать модификаторы доступа для методов.
Как отличить перегруженные методы?
Различные типы параметров, разные номера параметров и разный порядок параметров.
В чем разница между const и readonly?
Ключевое слово const используется для объявления констант времени компиляции, а ключевое слово readonly используется для объявления констант времени выполнения.
В чем разница между System.String и System.StringBuilder?
System.String — неизменяемая строка. System.StringBuilder хранит переменную строку и предоставляет некоторые методы для изменения этой строки.
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx.
-