- •Void IncN(b&b);
- •Void a::IncN(b&b)
- •Int main ()
- •Void printArray (t*array, const int count)
- •Void push (StType oh);
- •Vector,list…
- •Программа ищет подходящий обработчик исключений
- •Если обработчик найден, стек очищается и управление передается обработчику исключения
- •Если обработчик не найден вызывается функция terminate для завершения
- •Вызов метода
- •Применение одного из следующих ключевых слов: goto, break, continue, return, throw
- •Internal и protected internal
- •Int CompareTo (-//-) – возвращает отрицательное значение, если данная строка меньше заданной, положительное- если больше и 0- если равно
- •Int indexOf (-//-) – выполняет в вызывающей строке поиск, заданный параметром стр от строки, возвращает индекс первого вхождения заданной строки
- •Int LastIndexOf (-//-) - -//- для последнего
- •Наследование
- •Void main()
- •Конструкторы и деструкторы
- •Вызвать конструктор базового класса
- •Получить доступ к члену базового класса, который скрыт за членом производного
- •При указании в производном классе базе методом, вызывается конструктор непосредственного базового класса
- •Передача аргументов конструктору базового класса осуществляется путем указания их в качестве аргументов базе методом производного класса
- •При отсутствии ключевого слова базе, автоматически вызывается конструктор базового класса, заданный по умолчанию
- •I1.Information();
- •Interface имя
- •Void Reset();
- •Void SetStart(int X);}
- •Индексаторы
- •If (ole(index)){…}}
- •Поскольку в индексаторе не определяется область памяти, получаемое индексатором значение нельзя передавать методу в качестве параметра
- •Индексатор должен быть членом экземпляра своего класса, поэтому нельзя объявлять его с помощью ключевого слова static
При указании в производном классе базе методом, вызывается конструктор непосредственного базового класса
Передача аргументов конструктору базового класса осуществляется путем указания их в качестве аргументов базе методом производного класса
При отсутствии ключевого слова базе, автоматически вызывается конструктор базового класса, заданный по умолчанию
создать класс «Флора», содержащий некоторые общие свойства.реализовать производный класс с его общими свойствами.
classFlora
{public double st_w;
public double st_h;
public void Show()
{Console.WriteLine(“ширинаствола”st_w+”высотаствола”+st_h);
}}
classDyb : Flora
{public string color_l;
public string shape_l;
public void showStyle()
{
console.WriteLine(“цвет-”color_l + “форма”+shape_l);
}
classInformation : Dyb
{publicINf (string name, string color_l, string shape_l, double w, double h): base (st_w,st_ h, color_l, shape_l)
{
color = color_l;
shape = shape_l;
w = st_w;
h = st_h;
Console.WriteLine(name + color + shape+ w + h)}
classVivod
{public static void main()
{Information I1 = new Information (“Дуб”, ”зеленый”, “Неправильная”, “50”, “150”)
I1.Information();
}
Сокрытие имен
Public class MyBaseClass{
Public void DoSomething()
{…}}
Public class MyDerivedClass:: MyBaseClass{
Public void DoSomething()
{}
Public class MyDerivedClass ::MybaseClass {
New public void DoSomething()
{}
Public class MyBaseClass{
Public virtual void DoSomething()
{console.Writeline(“Base imp”);
{//базовая реализация}}
Public class MyDerivel :: MyBaseClass{
Public override void DoSomething()
{console.Writeline(“Derived imp”);}}
Public class MyBaseClass{
Public virtual void DoSomething()
{console.Writeline(“Base imp”);}}
Public DerivedClass :: MyBaseClass{
В ООП иногда требуется определить что класс должен знать, а не каким образом это будет реализовано
В С# предусмотрена возможность полностью отделить интерфейс класса от его реализации с помощью ключевого слова interface. Он определяет набор методов, которые будут реализованы классом, т.е. интерфейс- это логическая конструкция, которая описывает методы, не устанавливая жестко способ их реализации. В отличии от абстрактных классов не один метод не содержит реализации. Один интерфейс может быть реализован любым числом классов, при этом один класс может реализовывать любое число интерфейсов. Для реализации интерфейса класс должен обеспечить тела методов, описанных в интерфейсе
Interface имя
{тип метод1 (список парам-в);
…
Тип метод№ (-//-);
}
Public interface ISeries
{int getNext();
Void Reset();
Void SetStart(int X);}
Class имя : имя интерфейса
{…}
Реализация
Class ByTwos : ISeries
{int start;
Int val;
Public ByTwos()
{start = 0;
Val = 0;}
Public int getNext()
{val +=2;
Return val;}
Public void reset()
{val = start;}
Public void setStart(int x)
{start = x;
Al = start;}
Использование
Using System;
Class SeriesDemo
{public static void Main()
{ByTwos ob = new ByTwos();
For (int I = 0;i<5;i++)
Console.WriteLine(“”+ob.getNext());
Console.WriteLine(“\n”+ ob.reset());
For(int i=0;i<5;i++)
Console.WriteLine(“”+ob.getNext());
Console.WriteLine(“\n”);
ob.setStart t(100);
for(int i=0;i<5;i++)
console.WriteLine(“”+ob.getNext());}}
можно объявлять ссылочные переменные интерфейсного типа. Такая переменная может ссылаться на любой объект, который реализует любой интерфейс. При выборе метода для объекта по средствам интерфейсной ссылки будет выполнена та версия указанного метода, которая реализована этим объектом. Данный процесс аналогичен при использовании ссылок
Ознакомится с темами: перегрузка методов операторов, исключение
Реализовать интерфейсы, работающие с геометрическими фигурами. Создать класс квадрат, треугольник, прямоугольник.