Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Objektorientering1 IT-2 Objektorientert programmering Objektorientert systemutvikling Kompetansemål under hovedområde programmering: Eleven skal kunne.

Liknende presentasjoner


Presentasjon om: "Objektorientering1 IT-2 Objektorientert programmering Objektorientert systemutvikling Kompetansemål under hovedområde programmering: Eleven skal kunne."— Utskrift av presentasjonen:

1 Objektorientering1 IT-2 Objektorientert programmering Objektorientert systemutvikling Kompetansemål under hovedområde programmering: Eleven skal kunne gjøre rede for hensikten med objektorientert utvikling og begrepene klasse, objekt og arv

2 Objektorientering2 IT-2 Bakgrunn og hensikt  Oppfunnet i Norge på 1960-tallet av Kristen Nygård og Ole-Jacob Dahl.  Utviklet det første objektorienterte programmerings- språket Simula, der alle de sentrale begrepene er med  Hensikten er å mestre store og kompliserte programmeringsoppgaver ved en hensiktsmessig oppdeling  Tidligere var strukturert programmering utviklet, med oppdeling i blant annet funksjoner  Men, objektorientering tar dette langt videre Fra prosedyreorientering til objektorientering

3 Objektorientering3 IT-2 Begreper - klasse  Klasse – vanskelig å forklare kort og klart.  En klasse samler informasjon/egenskaper og handlinger/ metoder/ som gjelder et tema, en ting.  Kan sees på som definisjon av en datatype.  Klasser kan gjelde  programmeringmessige greier som String og Array i ActionScript  eller konkrete ting fra virkeligheten som Geit, Hund, Bil,  eller mer abstrakte saker som Dato og Bankkonto.  Det å finne gode klasser for problemet som skal løses er en sentral del av design-arbeidet

4 Objektorientering4 IT-2 Begreper - objekt  Objekt – er en forekomst, instans av en klasse. For eksempel hunden Rex et objekt av klassen Hund.  Fra en klasse kan det lages mange objekter, klassen er oppskriften på å lage disse objektene  Et objekt lages i ActionScript med nøkkelordet new  var tabell:Array = new Array();  var minHund:Hund = new Hund(”Rex”);

5 Objektorientering5 IT-2 Begreper - arv  En klasse kan arve egenskaper og metoder fra en overordnet klasse  kalles da subklasse og superklasse  Eksempler:  Klassen Dyr som superklasse til Hund og Geit  Klassen Kjøretøy som superklasse til Bil og Traktør  Superklassen vil innehold egenskaper og metoder som er felles  ActionScript:  public class Hund extends Dyr  public class FyltSirkel extends FyltFigur

6 Objektorientering6 IT-2 class Hund //egenskaper var navn:String var rase:String var farge:String var født:int var løpetid:Boolean //kunstruktør function Hund (navnet:String){ navn = navnet } //andre metoder function SettFødeår(år:int){ født = år } function bjeff() { … } Lassie 2005 Rex 1997 var h1:Hund = new Hund(”Lassie”); h1.settFødeår = 2005; h1 var h2:Hund = new Hund(”Rex”); h2.settFødeår = 1997; h2 var h3:Hund = h2; h3

7 Objektorientering7 IT-2 private: egenskapene er ikke tilgjengelige utenfor klassen, dette gir innkapsling public: er tilgjengelig utenfor klassen, danner til sammen sammen grensesnittet for klassen, det omgivelsene kan se og gjøre med objektene i klassen

8 Objektorientering8 IT-2 Lassie 2005 Collie Gylden Ja Innkapsling settNavn() settRase() bjeff() settFarge() Tilgang til hundeobjektets indre gjennom public-metodene Verdiene som egenskapene har akkurat nå kalles tilstanden til hundeobjektet settLøpetid() visRase() visInfo() Modularisering Alt om hunder, både egenskaper og handlinger (metoder) er samlet i klassen Hund, som hunde- objektene lages fra

9 Objektorientering9 IT-2 Fordelene med objektorientering Mestring av komplekse programmeringsoppgaver som krever brede kunnskaper og teamsamarbeid  modularisering  fornuftig oppdeling, effektiv arbeidsdeling  abstraksjon  når en klasse først er programmert og testet, kan den trygt brukes av andre uten å bry seg om og skjønne bæret av hvordan den er laget; gjelder også når vi benytter ferdige klasser som Math og Array  innkapsling  trygghet, kontroll,  arv


Laste ned ppt "Objektorientering1 IT-2 Objektorientert programmering Objektorientert systemutvikling Kompetansemål under hovedområde programmering: Eleven skal kunne."

Liknende presentasjoner


Annonser fra Google