C# OOP, klasės, interfeisai ir kt. Flashcards
Kas yra objektinis programavimas (OOP)?
Programavimo modelis, kuriame visas kodas yra parašytas aplinkui objektus ir duomenis (o ne funkcijas ir logiką).
Kas yra objektas?
Objektas gali būti apibrėžtas kaip duomenų laukas, turintis unikalius parametrus ir metodus.
Kas yra sąsaja (interface) ?
Apibrėžia tam tikrus funkcionalumo reikalavimus, kuriuos vėliau išpildyti turi šį interfeisą implementuojančios klasės.
Kuo skiriasi klasių paveldėjimas nuo interfeisų, ypač abstrakti klasė nuo interfeiso?
Paveldint klases savybės galima sakyt automatiškai priskiriamos tai vaikinei klasei kuri paveldėjo šią klasę.
Kai yra paveldima abstrakti klasė ji yra per daug abstrakciai aprašyta tėvinei klasėj pvz:
public class TransportoPriemone() { public int DuruSkaicius; public string Tipas; } , todėl vaikinio objekto kūrimo metu šios savybės turi būti tiksliau aprašytos, kad būtų galima panaudoti jas. Šiuo aspektu interfeisas veikia labai panašiai - kūrimo metu taip pat reikia nurodyti tikslesnius parametrus kurie buvo gana abstrakciai nurodyti jame. Skirtumas tarp jų yra tai kad galime paveldėti tik vieną klasę, bet interfeisus galima implemetuoti kelis.
Kas yra Klasė?
Klasė yra programinės įrangos vienas iš statybinių komponentų.
Jį sudaro:
a) savybės
b) metodai
Klasę, jos metodus ir parametrus galime pasiekti dvejais būdais:
a) susikuriant klasės objektą pvz objektas.parametras = “Smagu”;
b) nurodant kad klasė yra “static”. Tokiu atveju negalima kurti klasės objekto o metodus ir parametrus pasieksim per klasės vardą pvz Klasė.Metodas();
Kas yra Prieigos modifikatoriai (Access modifiers). Kokių jų yra?
Tai yra būdas kaip valdytis prieigos laipsnį prie klasės ir/ar jos narių.
Yra 5 prieigos modifikatoriai:
1) public (viešas)
2) private (privatus)
3) protected (apsaugotas)
4) Internal (vidinis)
5) protected internal (apsaugotas vidinis)
6) private protected (privatus apsaugotas)
Kas yra public ir private prieigos modifikatoriai?
Public (viešas) priegos modifikatorius leidžia pasiekti klasės narį iš bet kurios klasės ar namespace’o.
Private (privatus) - prieigos modifikatorius leidžia pasiekti narį iš kodo, kuris parašytas toje pačioje klasėje.
Kas yra protected ir internal prieigos modifikatoriai?
Protected priegos modifikatorius - narys su protected prieigos modifikatoriumi gali būti pasiektas:
a) kodu kuris parašytas toje pačioje KLASĖJE;
b) kodu, kuris yra kilęs iš tos pačios KLASĖS.
Internal prieigos modifikatorius - narius galima pasiekti naudojant kodą, kuris yra tos pačios KOMPILIACIJOS dalis.
Kas yra metodų overridinimas?
Metodų perrašymo prireikia, kuomet esančiame metode norime įterpti kitus parametrus nei nurodyta metodo pradiniame konstruktoriuje.
Paveldint klasę, metodą esantį tėvinėje klasėje kurį perrašysime turime pažymėti kaip “virtual”, o naują metodą - “override”. Pvz:
public class Shape { public virtual void Draw() { // pirminė implementacija } }
public class Circle : Shape { public override void Draw() { // nauja implementacija } }
Kas yra Polimorfizmas?
Polimorfizmas reiškia „daug formų“, ir jis atsiranda, kai turime daug klasių, kurios yra tarpusavyje susijusios paveldėjimo būdu.
Pavyzdys gali būti, kad to paties pavadinimo metodas yra užklojamas kuriant naujus klasės objektus. Metodo viduje tuomet kaip pvz bus išspausdintas vis kitas tekstas. Todėl nors ir naudojamas tas pats metodas kuris paveldimas iš tos pačios klasės, jis skirtinguose objektuose duos skirtingus rezultatus.