Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Output 1 Employee number: 101 Employee name: Claude VigeСодержание книги
Поиск на нашем сайте
Пример 1 Описание В данном примере демонстрируются свойства экземпляра, статические свойства и свойства, доступные только для чтения. Данный код принимает имя сотрудника, введенное с клавиатуры, увеличивает на 1 значение NumberOfEmployees и отображает имя и номер сотрудника. Код ß--------
Результат 1 Employee number: 101 Employee name: Claude Vige
Example 2 Description This example demonstrates how to access a property in a base class that is hidden by another property that has the same name in a derived class. Code
Пример 2 Описание В данном примере демонстрируется доступ к свойству в базовом классе, которое скрыто другим свойством, имеющим такое же имя в производном классе. Код ß------
Output 2 Name in the derived class is: John, Manager Name in the base class is: Mary Code Disscussion The following are important points in the previous example: · The property Name in the derived class hides the property Name in the base class. In such a case, the new modifier is used in the declaration of the property in the derived class:
· The cast (Employee) is used to access the hidden property in the base class:
Результат 2 Name in the derived class is: John, Manager Name in the base class is: Mary Рассмотрение кода Далее перечислены важные замечания по предыдущему примеру: · Свойство Name в производном классе скрыто свойством Name в базовом классе. В этом случае модификатор new используется в объявлении свойства в производном классе:
· Приведение (Employee) используется для доступа к скрытому свойству в базовом классе:
Example 3 Description In this example, two classes, Cube and Square, implement an abstract class, Shape, and override its abstract Area property. Note the use of the override modifier on the properties. The program accepts the side as an input and calculates the areas for the square and cube. It also accepts the area as an input and calculates the corresponding side for the square and cube. Code
Пример 3 Описание В данном примере два класса Cube и Square реализуют абстрактный класс Shape и переопределяют его абстрактное свойство Area. Обратите внимание на использование для свойств модификатора override. Программа принимает размер стороны в качестве входных данных и вычисляет площади квадрата и куба. Она также принимает площадь в качестве входных данных и вычисляет значение стороны квадрата и куба. Код ß-----
class Cube: Shape { public double side; public Cube(double s) { side = s; }
public override double Area { Get { return 6 * side * side; } Set { side = System.Math.Sqrt(value / 6); } } }
class TestShapes { static void Main() { // Input the side: System.Console.Write("Enter the side: "); double side = double.Parse(System.Console.ReadLine()); // Compute the areas: Square s = new Square(side); Cube c = new Cube(side); // Display the results: System.Console.WriteLine("Area of the square = {0:F2}", s.Area); System.Console.WriteLine("Area of the cube = {0:F2}", c.Area); System.Console.WriteLine(); // Input the area: System.Console.Write("Enter the area: "); double area = double.Parse(System.Console.ReadLine()); // Compute the sides: s.Area = area; c.Area = area; // Display the results: System.Console.WriteLine("Side of the square = {0:F2}", s.side); System.Console.WriteLine("Side of the cube = {0:F2}", c.side); } }
ß-------- Input Output 3 Enter the side: 4 Area of the square = 16.00 Area of the cube = 96.00 Enter the area: 24 Side of the square = 4.90 Side of the cube = 2.00 Введенные данные Результат 3 Enter the side: 4 Area of the square = 16.00 Area of the cube = 96.00 Enter the area: 24 Side of the square = 4.90 Side of the cube = 2.00
Interface Properties Properties can be declared on an interface. The following is an example of an interface indexer accessor:
The accessor of an interface property does not have a body. Thus, the purpose of the accessors is to indicate whether the property is read-write, read-only, or write-only. Example In this example, the interface IEmployee has a read-write property, Name, and a read-only property, Counter. The class Employee implements the IEmployee interface and uses these two properties. The program reads the name of a new employee and the current number of employees and displays the employee name and the computed employee number. You could use the fully qualified name of the property, which references the interface in which the member is declared. For example:
This is called Explicit Interface Implementation. For example, if the class Employee is implementing two interfaces ICitizen and IEmployee and both interfaces have the Name property, the explicit interface member implementation will be necessary. That is, the following property declaration:
Свойства интерфейса Свойства можно объявлять в interface. Ниже приведен пример метода доступа индексатора интерфейса: ß-- Метод доступа свойства интерфейса не имеет тела. Поэтому методы доступа предназначены для того, чтобы указывать, доступно ли свойство для чтения и записи, только для чтения или только для записи. Пример В этом примере интерфейс IEmployee имеет свойство с доступом записи/чтения, Name, а также свойство только для чтения Counter. Класс Employee реализует интерфейс IEmployee и использует эти два свойства. Программа считывает имя нового сотрудника и текущее количество сотрудников и выводит имя сотрудника и его вычисленный номер. Можно использовать полное имя свойства, которое ссылается на интерфейс, в котором объявлен член. Пример.
Это называется Явная реализация интерфейса. Например, если класс Employee реализует два интерфейса ICitizen и IEmployee, и оба интерфейса имеют свойство Name, то обязательна явная реализация члена интерфейса. То есть, следующее объявление свойства.
implements the Name property on the IEmployee interface, while the following declaration:
implements the Name property on the ICitizen interface. interface IEmployee { string Name { get; set; } int Counter { get; } } public class Employee: IEmployee { public static int numberOfEmployees; private string name; public string Name // read-write instance property { Get { return name; } Set { name = value; } } private int counter; public int Counter // read-only instance property { Get { return counter; } } public Employee() // constructor { counter = ++counter + numberOfEmployees; } } реализует свойство Name для интерфейса IEmployee, а следующее объявление:
реализует свойство Name в интерфейсе ICitizen. ß-------
Sample Output Enter number of employees: 210 Enter the name of the new employee: Hazem Abolrous The employee information: Employee number: 211 Employee name: Hazem Abolrous
ß----
Пример результатов выполнения Enter number of employees: 210 Enter the name of the new employee: Hazem Abolrous The employee information: Employee number: 211 Employee name: Hazem Abolrous
|
|||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 105; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.83.96 (0.006 с.) |