SlideShare a Scribd company logo
1 of 8
Платформата Microsoft .NET и
езикът на програмиране C#
Наследяване
Наследяване
 Механизъм за преизползване на код
 Независимо разширяване на класовете на по-късен етап
 Наследените класове образуват йерархия
 Динамично извикване на методи – method overriding
Наследяване в C#
 Eдин родителски клас – single inheritance A -> B
 Многократно наследяване – multilevel inheritance A -> B -> C
 Забранено множествено наследяване – multiple inheritance A -> C <- B
Пример за наследяване - родител
public class Person {
protected string name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void show() {
Console.WriteLine(name + “ ” + age);
}}
Пример за наследяване - наследник
public class Employee : Person {
private int salary;
public Employee(String name, int age, int salary):base(name,age) {
this.salary = salary;
}
public void show () {
Console.WriteLine(name + “ ” + age + “ ” + salary);
}}
Пример за наследяване - използване
 Изпробвайте три случая:
 без show() метод в Employee
 със show() метод в Employee
 virtual пред show() метода в Person и override пред show() метода в Employee
Person p1 = new Person(“John”, 15);
p1.show();
Employee e1 = new Employee(“Jack”, 19, 1000);
e1.show();
Person x1 = new Employee(“Jake”, 21, 1100);
x1.show();
Особености при наследяване
 sealed – забранява наследяването на дадения клас
 abstract – задължава наследяването на дадения клас
 Общият родител Object
 Наследяване на изключения

More Related Content

Viewers also liked (11)

.NET/C#_19
.NET/C#_19.NET/C#_19
.NET/C#_19
 
.NET/C#_2
.NET/C#_2.NET/C#_2
.NET/C#_2
 
.NET/C#_12
.NET/C#_12.NET/C#_12
.NET/C#_12
 
.NET/C#_17
.NET/C#_17.NET/C#_17
.NET/C#_17
 
.NET/C#_15
.NET/C#_15.NET/C#_15
.NET/C#_15
 
.NET/C#_20
.NET/C#_20.NET/C#_20
.NET/C#_20
 
.NET/C#_16
.NET/C#_16.NET/C#_16
.NET/C#_16
 
.NET/C#_18
.NET/C#_18.NET/C#_18
.NET/C#_18
 
.NET/C#_14
.NET/C#_14.NET/C#_14
.NET/C#_14
 
.NET/C#_5
.NET/C#_5.NET/C#_5
.NET/C#_5
 
.NET/C#_4
.NET/C#_4.NET/C#_4
.NET/C#_4
 

More from RaynaITSTEP

More from RaynaITSTEP (20)

Project management professional
Project management professionalProject management professional
Project management professional
 
Project management it step
Project management it stepProject management it step
Project management it step
 
Lean startup
Lean startupLean startup
Lean startup
 
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
 
DBT_3
DBT_3DBT_3
DBT_3
 
DBT_2
DBT_2DBT_2
DBT_2
 
DBT_1
DBT_1DBT_1
DBT_1
 
monitoring and diagnostics
monitoring and diagnosticsmonitoring and diagnostics
monitoring and diagnostics
 
network security
network securitynetwork security
network security
 
networking
networkingnetworking
networking
 
data security
data securitydata security
data security
 
configuring disk sand drivers
configuring disk sand driversconfiguring disk sand drivers
configuring disk sand drivers
 
boot process
boot process  boot process
boot process
 
install update and migration to windows 10
install update and migration to windows 10install update and migration to windows 10
install update and migration to windows 10
 
virtualization
virtualizationvirtualization
virtualization
 
Фотошоп за деца_4
Фотошоп за деца_4Фотошоп за деца_4
Фотошоп за деца_4
 
Структурни кабелни системи
Структурни кабелни системиСтруктурни кабелни системи
Структурни кабелни системи
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2
 
Adobe Illustrator - Обобщение
Adobe Illustrator - ОбобщениеAdobe Illustrator - Обобщение
Adobe Illustrator - Обобщение
 

.NET/C#_9

  • 1. Платформата Microsoft .NET и езикът на програмиране C#
  • 3. Наследяване  Механизъм за преизползване на код  Независимо разширяване на класовете на по-късен етап  Наследените класове образуват йерархия  Динамично извикване на методи – method overriding
  • 4. Наследяване в C#  Eдин родителски клас – single inheritance A -> B  Многократно наследяване – multilevel inheritance A -> B -> C  Забранено множествено наследяване – multiple inheritance A -> C <- B
  • 5. Пример за наследяване - родител public class Person { protected string name; protected int age; public Person(String name, int age) { this.name = name; this.age = age; } public void show() { Console.WriteLine(name + “ ” + age); }}
  • 6. Пример за наследяване - наследник public class Employee : Person { private int salary; public Employee(String name, int age, int salary):base(name,age) { this.salary = salary; } public void show () { Console.WriteLine(name + “ ” + age + “ ” + salary); }}
  • 7. Пример за наследяване - използване  Изпробвайте три случая:  без show() метод в Employee  със show() метод в Employee  virtual пред show() метода в Person и override пред show() метода в Employee Person p1 = new Person(“John”, 15); p1.show(); Employee e1 = new Employee(“Jack”, 19, 1000); e1.show(); Person x1 = new Employee(“Jake”, 21, 1100); x1.show();
  • 8. Особености при наследяване  sealed – забранява наследяването на дадения клас  abstract – задължава наследяването на дадения клас  Общият родител Object  Наследяване на изключения