[Useful Info] OOP - Полезни линкове, съвети и инфо по темата
В хода на моето обучение, последния обектно ориентиран код, който съм писал беше за изпита по ООП, когато бях в Телерик, та оттогава досега бая неща съм позадбравил и реших да си ги преговоря... За щастие имам навика да си водя бързи записки (къде без грешки, къде не) по различни теми и да ги качвам в блога, така че просто се върнах да си припомня какво е било... Видях, че съм писал една полезна тема със съвети за самия изпит по ОПП, който и тук в СофтУни се очертава да бъде май същия, така че ви я споделям, мисля че ще ви влезе в употреба.
С това откривам и самата тема, която можем да я използваме с такава цел - да си споделяме различни полезни ресурси... Честно казано, ООП темата е бая дебела и има доста за четене по нея, така че тук можем да споделяме различни полезни линкове.
Какво разбираш под влагане на методи? Може ли пример?
Това ми се получи на финал, но направих метода DestroySHip(Ship target) virtual, защото иначе трябваше да го имплементирам навсякъде в класовете наследници.(а си мислех, че като го викам в другия метод няма нужда отделно да го овъррайдвам)
ИНТЕРФЕЙСЪТ: public interface IAttack
{
string Attack(Ship target);
}
КЛАС РОДИТЕЛ: public abstract class BattleShip : Ship, IAttack
public abstract string Attack(Ship target);
public virtual string DestroySHip(Ship target)
{
return string.Format("BOMMMMM {0}", target.Name);
}
КЛАС НАСЛЕДНИК: public class Destroyer : BattleShip
public override string Attack(Ship targetShip)
{
this.DestroySHip(targetShip);
return "Destroyer : They didn't see us coming!" + this.DestroySHip(targetShip) + " " + targetShip.GetType().Name;
}