Содержание
- 2. Наследование - мощный инструмент ООП. Позволяет строить иерархии, в которых классы-потомки получают свойства классов-предков и могут
- 3. [ атрибуты ] [ спецификаторы ] class имя_класса [ : базовый класс(ы) ] {тело класса} Пример:
- 4. Пример class First { public First(int a int b) { } } class Second : First
- 5. Конструкторы не наследуются, поэтому производный класс должен иметь собственные конструкторы (созданные программистом или системой). Порядок вызова
- 6. Вызов конструктора базового класса class First { public First(int a int b) { } } class
- 7. Из конструктора класса, кроме конструктора базового класса может быть вызван и другой конструктор данного класса, для
- 8. Можно создать класс наследование от которого невозможно. public sealed SealedClass { } При попытке построить класс
- 9. Модификатор - new Если в производном классе определить член класса (поля, свойство, метод и т.д.)_ с
- 10. namespace CLec_2_cource { class Base { private int a; public Base() { a = 10; }
- 11. class Derived:Base { private int d; public Derived() { d = 1; } public Derived(int _d)
- 12. class Program { static void Main(string[] args) { Base ob_b=new Base(); Derived ob_d=new Derived(5); ob_b.Print(); ob_d.Print();
- 13. Модификатор - new Используя new – перекрываем соответствующий компонент из базового класса. public class Base {
- 14. Для класса в языке C# возможно использование двух модификаторов доступа: public - определяет, что нет ограничений
- 15. Класс может иметь один из следующих модификаторов класса: abstract - определяет, что класс должен быть использован
- 16. Объектно-ориентированных подход в программирования опирается на следующие принципы: инкапсуляция; наследование; полиморфизм. Инкапсуляция - способность прятать детали
- 17. Наследование - возможность создавать новые определения классов на основе существующих, расширяя и переопределяя их функциональность. Наследование
- 18. Для реализации инкапсуляции в языке C# используются модификаторы доступа и свойства. Язык С# поддерживает следующие модификаторы
- 19. тип свойство { get { return значение; } set { поле=value; } }
- 20. Объекту базового класса можно присвоить объект производного класса: предок потомок Это делается для единообразной работы со
- 21. Для реализации полиморфизма, основанного на виртуальных методах, в языке C# используются ключевые слова virtual и override:
- 22. Виртуальные методы объявляются в базовом классе с ключевым словом virtual, а в производном классе могут быть
- 23. При вызове метода - члена класса действуют следующие правила: для виртуального метода вызывается метод, соответствующий типу
- 24. Запрет переопределения методов Можно запретить переопределение методов и свойств. В этом случает их надо объявить с
- 25. Пример class AnimalsCat { public virtual void MakeSound() // если не применить override { Console.WriteLine("Мяу!"); //
- 26. Если вы объявляете виртуальный метод, то у классов-наследников есть три опции: Не реализовывать этот метод Реализовывать
- 27. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CLec_2_cource { class Person { protected string
- 28. class Businessman : Person { private string firma; public Businessman(string _lastName, string _firma) : base(_lastName) {
- 29. class Program { static void Main(string[] args) { Person p; Businessman b = new Businessman("Petroff", "SantaBarbara");
- 30. Если мы не хотим давать виртуальную перегрузку метода, то используем ключевое слово new: Если мы перегружаем
- 31. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lecture_VAb { class Employee { protected string
- 32. Наследование- итоги Итоги: Наследование можно рассматривать как средство усложнения базового класса. Класс потомок будет иметь: Унаследованные
- 33. Наследование – средство изменения базового класса. Реализуется через переопределение полей, методов и свойств базового класса в
- 34. Наследование и вложение Наследование класса Y от класса X чаще всего означает, что Y представляет собой
- 35. Полезно: super, base, inherited – используем для обозначения базового класса Derived, Язык C# поддерживает объявление абстрактных
- 36. Абстрактным классом называется класс, который содержит один или несколько абстрактных методов. Абстрактный класс не может использоваться
- 37. Например: public abstract int M1(int a, int b); Абстрактный класс можно использовать только как базовый для
- 38. В приведенном ранее примере класс Employee представлял просто служащего, в реальности такого объекта быть не должно,
- 39. public abstract class Shape { protected abstract double getArea(); // переопределяемый абстрактный метод public void Print()
- 40. public class Triangle : Shape { private double a; private double b; private double c; public
- 41. protected override double getArea() { double p = (a + b + c) / 2.0; return
- 42. public class Rectangle : Shape { private double a; private double b; public Rectangle(double a, double
- 43. class Program { static void Main(string[] args) { Triangle obT = new Triangle(3,3,3); Rectangle obR =
- 44. Главная цель, к которой нужно стремиться, — получить легко читаемую программу возможно более простой структуры. Создание
- 45. В программе полезно предусматривать реакцию на неверные входные параметры. Необходимо предусматривать печать сообщений или выбрасывание исключения
- 46. Форматируйте текст по столбцам везде, где это возможно: string buf = "qwerty"; double ex = 3.1234;
- 47. "Вопрос «Как писать хорошие программы на С++?» напоминает вопрос «Как писать хорошую английскую прозу?». Есть два
- 49. Скачать презентацию