Пример выполнения практического задания
Namespace ConsoleApp 1 { class Familia { public void Fam() { Console.WriteLine( " Моя фамилия - Николаенко " ); } } class Imja : Familia { public void Im() { Fam(); Console.WriteLine( " Мое имя - Даниил " ); } } class Program { static void Main( string [] args) { Imja f = new Imja(); f.Im(); Console.ReadKey(); } } }
27) Дайте определение интерфейса. Опишите синтаксис интерфейса. Задание. Создайте 2 класса: Circle и Square, которые наследуется от интерфейса IFigureInfo, в котором определяются 2 метода: – double area();– double perimeter();В класс Prpogram добавьте статический метод InfoFigure для вывода информации о фигуре: название фигуры, площадь и периметр.Ответ Интерфейсы – это чисто абстрактные классы, в которых задается набор абстрактных методов, свойств и индексаторов, которые должны быть реализованы в производных классах. Иными словами, интерфейс определяет поведение, которое поддерживается реализующими этот интерфейс классами. Основная идея использования интерфейса состоит в том, чтобы к объектам таких классов можно было обращаться одинаковым образом. Интерфейсы позволяют смягчить недостаток отсутствия множественного наследования в языке C#. Каждый класс может определять элементы интерфейса по-своему. Так достигается полиморфизм: объекты разных классов по-разному реагируют на вызовы одного и того же метода. Синтаксис интерфейса аналогичен синтаксису класса: [атрибуты] [спецификаторы] interface имя_интерфейса [: предки] { // тело_интерфейса }Для интерфейса могут быть указаны спецификаторы new, public, protected, internal и private. Спецификатор new применяется для вложенных интерфейсов и имеет такой же смысл, как и соответствующий модификатор метода класса. Остальные спецификаторы управляют видимостью интерфейса. По умолчанию интерфейс доступен только из сборки, в которой он описан ( internal ). Интерфейс может наследовать свойства нескольких интерфейсов, в этом случае предки перечисляются через запятую. Тело интерфейса составляют абстрактные методы, шаблоны свойств и индексаторов, а также события. Чтобы указать, что класс реализует интерфейс, необходимо, так же, как и при наследовании, после имени класса и двоеточия указать имя интерфейса: Пример выполнения практического задания namespace ConsoleApp 1 { interface IFigureInfo { double area(); double perimeter(); } class Circle : IFigureInfo { double r; public Circle ( double r) { this .r = r; } public double area() { return Math.PI * r * r; } public double perimeter() { return 2 * Math.PI * r; } } class Square : IFigureInfo { double a; // сторона квадрата public Square ( double a) { this .a = a; } public double area() { return a * a; } public double perimeter() { return 4 * a; } } class Program { static public void InfoFigure( string fig, double s, double p) { Console.WriteLine( "{0} площадь = {1:f2}, периметр = {2:f2}" , fig, s, p); } static void Main( string [] args) { Console.Write( " Радиус окружности = " ); double R = Convert.ToDouble(Console.ReadLine()); Circle c = new Circle(R); InfoFigure( " Круг : " , c.area(), c.perimeter()); Console.Write( " Сторона квадрата = " ); double a = Convert.ToDouble(Console.ReadLine()); Square q = new Square(a); InfoFigure( " Квадрат : " , q.area(), q.perimeter()); Console.ReadKey(); } } }
28) Опишите назначение, создание и использование перечислений. Задание. Разработайте программу, которая будет выводить минимальную, критическую и максимальную температуру. При разработке использовать перечисление, состоящее из 3 констант: min = 0, krit = 72, max = 100. Ответ Перечисление (enum) — это набор именованных констант, позволяющих сделать исходный код программы более удобочитаемым. Оно позволяет задать имена для небольшого набора используемых целочисленных значений. Использование перечислений будет эффективным, если в программе часто используются константы, которые имеют символические обозначения. Использование символических обозначений вместо числовых значений позволяет: – повысить понимание и читабельность программного кода; – уменьшить количество вероятных ошибок в программе. Также, использование перечислений позволяет сгруппировать наборы констант в единое целое с целью дальнейшего оперирования ими. Это, в свою очередь, упорядочивает программный код и уменьшает риск допущения ошибки программистом. Наиболее полный обобщенный формат объявления перечисления выглядит следующим образом: модификтор_доступа enum имя : тип { имя1 = значение1, имя2 = значение2, … }Каждый член перечисления указывает на целочисленное значение. По умолчанию эти значения имеют тип int и членам перечисления присваиваются константы 0, 1, 2, … (т.е. целые числа начиная с нуля). Доступ к членам перечисления осуществляется с помощью имени перечисляемого типа и оператора точка. С перечислениями можно использовать следующие операторы: = == != < > <= >= + - ^ & | ~ += -= ++ - sizeof При этом перечисления воспринимаются как целочисленные значения. Сложение возможно только между типом enum и целочисленным типом, но не между двумя перечислениями. Класс System.Enum предоставляет расширенную поддержку типов enum, обеспечивая унификацию и определяя статические служебные методы.
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (293)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |