Содержание
- 2. Наследование Наследование является одним из трех основополагающих принципов объектно-ориентированного программирования, поскольку оно допускает создание иерархических классификаций.
- 3. Пример 1 namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent();
- 4. Пример 1 richTextBox1.AppendText("Сведения об объекте t1: " + "\n"); richTextBox1.AppendText(t1.ShowStyle()+"\n"); richTextBox1.AppendText(t1.ShowDim() + "\n"); richTextBox1.AppendText("Площадь равна "
- 5. Пример 1 Rectangle r1 = new Rectangle(); r1.Width = 4.0; r1.Height = 6.0; bool c =
- 6. Пример 1 class TwoDShape { // Класс для двумерных объектов public double Width; public double Height;
- 7. Пример 1 class Rectangle : TwoDShape { // Класс для // прямоугольников, производный от класса TwoDShape.
- 8. Наследование Если базовый класс содержит закрытые члены, то в производном классе они недоступны. Для преодоления такого
- 9. Пример 2 class TwoDShape { double pri_width; // закрытая переменная double pri_height; // закрытая переменная public
- 10. Пример 2 // Класс для треугольников, производный от класса TwoDShape class Triangle : TwoDShape { public
- 11. Пример 2 class Shapes2 { static void Main() { Triangle t1 = new Triangle (); Triangle
- 12. Наследование Защищенный член создается с помощью модификатора доступа protected. Если член класса объявляется как protected, он
- 13. Пример 3 class В { protected int i, j; // члены, закрытые для класса В, //
- 14. Пример 3 class ProtectedDemo { static void Main() { D ob = new D(); ob.Set(2, 3);
- 15. Наследование В иерархии классов допускается, чтобы у базовых и производных классов были свои собственные конструкторы. При
- 16. Пример 4 class TwoDShape { // Класс для двумерных объектов double pri_width; double pr.i_height; public double
- 17. Пример 4 class Triangle : TwoDShape { // Класс для треугольников, // производный от класса TwoDShape
- 18. Пример 4 class Shapes3 { static void Main() { Triangle t1 = new Triangle("равнобедренный", 4.0, 4.0);
- 19. Наследование Когда конструкторы определяются как в базовом, так и в производном классе, процесс построения объекта несколько
- 20. Наследование Когда в производном классе указывается ключевое слово base, вызывается конструктор из его непосредственного базового класса.
- 21. Пример 5 class TwoDShape { double pri_width; double pri_height; public TwoDShape() { // Конструктор, вызываемый по
- 22. Пример 5 public double Width { // Свойства ширины и высоты объекта get { return pri_width;
- 23. Пример 5 class Triangle : TwoDShape { // производный класс string Style; public Triangle() { //
- 24. Пример 5 class Shapes5 { static void Main() { Triangle t1 = new Triangle(); Triangle t2
- 25. Наследование В производном классе можно определить член с таким же именем, как и у члена его
- 26. Пример 6 class A { public int i = 0; } class В : A {
- 27. Наследование Имеется еще одна форма ключевого слова base, которая действует подобно ключевому слову this, за исключением
- 28. Пример 7 class A { public int i = 0; public void Show() { // Метод
- 29. Пример 7 new public void Show() { // Здесь скрывается метод Show() из класса А base.Show();
- 30. Наследование В С# можно также строить иерархии, состоящие из любого числа уровней наследования. Так, если имеются
- 31. Пример 8 class TwoDShape { double pri_width; double pri_height; public TwoDShape() { // Конструктор, используемый по
- 32. Пример 8 public double Width { // Свойства ширины и высоты объекта get { return pri_width;
- 33. Пример 8 class Triangle : TwoDShape { string Style; // закрытый член класса public Triangle ()
- 34. Пример 8 class ColorTriangle : Triangle { // Расширить класс Triangle string color; public ColorTriangle(string c,
- 35. Пример 8 class Shapes6 { static void Main() { ColorTriangle t1 = new ColorTriangle("синий", "прямоугольный", 8.0,
- 36. Наследование В иерархии классов конструкторы вызываются по порядку выведения классов: от базового к производному. Более того,
- 37. Наследование Членом класса может быть другой класс. В этом случае внешний класс так и называется внешним
- 38. Пример 9 public class F { public F(int n, int d) { this.n = n; this.d
- 39. Пример 9 public class Tester { static void Main() { F f1 = new F(3,4); Console.WriteLine("f1:
- 40. Пример 10 class X { int a; public X(int i) { a = i; } }
- 41. Наследование Вообще говоря, переменная ссылки на объект может ссылаться только на объект своего типа. Но из
- 42. Пример 11 using System; class X { public int a; public X(int i) { a =
- 43. Пример 11 Console.WriteLine("х2.а: " + х2.а); х2 = у; // тоже верно, поскольку класс Y //
- 44. Наследование Один из самых важных моментов для присваивания ссылок на объекты производного класса переменным базового класса
- 45. Пример 12 class TwoDShape { double pri_width; double pri_height; public TwoDShape() { Width = Height =
- 46. Пример 12 public double Width { // Свойства ширины и высоты объекта get { return pri_width;
- 47. Пример 12 class Triangle : TwoDShape { string Style; public Triangle() { Style = "null"; }
- 48. Пример 12 class Shapes7 { static void Main() { Triangle t1 = new Triangle("прямоугольный", 8.0, 12.0);
- 50. Скачать презентацию