Objektorientert programmering Objektorientert systemutvikling

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
Memento Object Behavioral Design Pattern. Lagre og hente tilstander • Et system inneholder ofte mekanismer som trenger gjenbruk av tilstander • Memento.
C++ for Java-programmerere
Realisering av Software Patterns Software Design Patterns Realisering med kode Refaktorering Gjenkjenning av mønstre.
Programmering i ActionScript - hva er det, og hvordan undervise?
Introduksjon til objektorientert programmering i PHP
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Objektorientert programmering i PHP del 2
ObjektOrientert Systemutvikling del I
IS-102 Klassedefinisjoner
C# for javaprogrammerere
En gang til!? .
Gruppe 9 Design evaluering og validering.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Strukturerende elementer i UML
Apache POI.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Objektorientert programmering
Java & OO.
Programmering i ActionScript - hva er det, og hvordan undervise?
Hjelp! Jeg skal undervise i IT 2!
Bærekraftig utvikling - forskerspiren
Java 11 Programmering med og uten objekter: hva er forskjellen?
VI LAGER EN PLATEBUTIKK
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Objektorientert utforming In 140 Sommerville kap. 12.
1 App A Java programmering. 2 Enkelt Java-program.
Generelle definisjoner Oppslagsverk nå og senere! Finnes også i dokumentet Retningslinjer for datamodellering i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
INF Objektorientert programmering
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Objektorientert design
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
INF1000 (Uke 11) Programmering
Kapittel 4 Skriving av klasser. 4.1 Anatomien til ein klasse Så langt har vi brukt ferdige klasser frå klassebiblioteket i Java Vi lagar objekt og brukar.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Programmering i Python.
Iterator i Java boolean hasNext() E next() void remove()
Forelesning 9 Are Raklev.
Strukturerende elementer i UML
Ungdomstrinn i utvikling på Volda ungdomsskule
Are Raklev Teoretisk fysikk, rom FØ456,
Lecture 10.
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
IS-102 Interaksjon med objekter
BilSalg klassedatastruktur Bil klassedatastruktur
Klassehierarki - Abstrakte datastrukturer
Objektorientert programmering i Java
BilSalg klassedatastruktur Bil klassedatastruktur
Begynnerkurs i Python Realfagskonferansen 2019 Henrik H. Løvold
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

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 IT-2 Objektorientering

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 IT-2 Objektorientering 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 IT-2 Objektorientering 3

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”); IT-2 Objektorientering 4

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 IT-2 Objektorientering 5

var h1:Hund = new Hund(”Lassie”); h1.settFødeår = 2005; 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 h1 var h2:Hund = new Hund(”Rex”); h2.settFødeår = 1997; Rex 1997 h2 var h3:Hund = h2; h3 IT-2 Objektorientering

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 IT-2 Objektorientering

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

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 IT-2 Objektorientering 9