Loading...
simeon_petrov avatar simeon_petrov 45 Точки

Разлики между abstract и vitrual methods

Понеже тези няколко изречения ми помогнаха да разбера разликата между това, какво е абстрактен и какво виртуален метод си позволих да ги преведа и да ги пусна във форума.

Абстрактният метод няма функционалност. Дъщерния клас трябва да съдържа собствена версия на метода. Абстрактният метод няма имплементация в родителския клас.

Виртуалната функция, ти казва: виж, тук има функционалност, която може да е, а може и да не е достатъчно добра за дъщерния клас. Ако е достатъчно добра, използвай този метод, ако пък не е, тогава го оверрайдвай и му дай собствена функционалност.

 

An abstract function can have no functionality. You're basically saying, any child class MUST give their own version of this method, however it's too general to even try to implement in the parent class.

A virtual function, is basically saying look, here's the functionality that may or may not be good enough for the child class. So if it is good enough, use this method, if not, then override me, and provide your own functionality.

Оригиналната тема в stackoverflow.

8
C# OOP Basics 14/01/2016 14:07:58
naskoni avatar naskoni 68 Точки

Като допълнение: в C# ако искаме някой метод да може да се override-ва, трябва изрично да се изпише virtual в сигнатурата му. Но в Java по подразбиране всеки метод е virtual, освен ако не е деклариран като final или static.

2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.