Presentation laddar. Vänta.

Presentation laddar. Vänta.

Inkapsling. OOPs tre grundstenar Det finns följande fundamentala koncept som varje OOP- språk stödjer:  Inkapsling eller datagömning (Encapsulation)

Liknande presentationer


En presentation över ämnet: "Inkapsling. OOPs tre grundstenar Det finns följande fundamentala koncept som varje OOP- språk stödjer:  Inkapsling eller datagömning (Encapsulation)"— Presentationens avskrift:

1 Inkapsling

2 OOPs tre grundstenar Det finns följande fundamentala koncept som varje OOP- språk stödjer:  Inkapsling eller datagömning (Encapsulation)  Arv (Inheritance)  Polymorfism (Polymorphism)

3 Inkapsling (Encapsulation) Inkapsling är en grundprincip inom objektorienterad programmering. Man döljer ett objekts innehåll genom att skapa ett gränssnitt mot andra objekt. Objekt kommunicerar genom att skicka meddelanden till varandra. De erbjuder och ber varandra att exekvera metoder. Programmeraren behöver därför inte veta hur ett objekt är skrivet, bara hur man skriver meddelanden till det. En annan fördel är att objektet kan skyddas mot fel i andra objekt.

4 Inkapsling Dölja  ”viktiga” saker som behöver skyddas,  ”oviktiga” saker som inte behöver disponeras för andra.  Bilisten behöver inte veta hur motorn arbetar för att köra bilen. Skydda mot ”felaktig” manipulering av klassens data.  Förhindra t ex beräkning av en cirkel mot negativt värde på radien.  Kolla så en array inte indexeras utanför gränserna.

5 Inkapsling I.Net kan man tillämpa inkapsling på olika sätt. properties är ett exempel på inkapslingstekniker i.Net. Obs. inga pareneser reserverat ord i properties, och här en string. Passar i alla data typer (även egna objekt)

6 Inkapsling - synlighetsmodifierare Datagömning innebär att access till data kan kontrolleras med hjälp av synlighetsmodifierare. Fem nivåer:  public, åtkomlig utan begränsning  private, åtkomlig endast från klassens medlemmar  protected, som private men också åtkomlig från subklasser  internal, åtkomlig från assemblyn (medlemmar i samma exe, eller dll)  protected internal, som internal men också åtkomlig från subklasser (i andra assemblyer)

7 Datagömning - Tumregeler Instansvariabler  private – skall väljas i första hand på alla variabler  Variabler som sparar mellandata skall alltid vara privata.  Nästa val bör vara protected och sista public. Man skall helst inte ha någon instansvariabel som är publik. Varför privat instansvariabel?  för att kontrollera om man vill ge andra objekt rättighet att endast uppdatera (ändra) variabelns värde, endast läsa, eller både läsa och uppdatera.  Kontrollera att riktiga (kontrollerade) värden sätts in i eller läses från variabeln.

8 Datagömning – tumregler forts Undvik helst att ha instansvariabler som är publika. ”protected” fält och metoder blir åtkomlig för subklasser. Men även subklasser bör använda sig av gränssnitt för att minimera underhållsarbete. Samma regler gäller även metoder, dvs. de metoder som är tänkt att ingå i gränssnittet måste vara nåbara för att objektet skall kunna kommunicera med andra objekt. Sådana metoder behöver vara publika (använder public modifierare).

9 Synlighet - Metoder Metoder som är hjälpfunktioner dvs. de som utför t ex mellanoperationer bör vara private som första val, protected som andra. Metoden Main måste vara public. Konstruktorer skall också vara public.


Ladda ner ppt "Inkapsling. OOPs tre grundstenar Det finns följande fundamentala koncept som varje OOP- språk stödjer:  Inkapsling eller datagömning (Encapsulation)"

Liknande presentationer


Google-annonser