• Like
Arv-metoder
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
411
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Arv & Metoder Marcus Weiderstål ProgrammeringTullinge Gymnasium
  • 2. Arv Vad gör arv? Klass Extends ExtendsSuperklass Eliteserieklubb Klass extends Superklass | AIK extends Eliteserieklubb
  • 3. Kodpublic class NV10A {private String Namn;Private int Ålder;public NV10A (String na, int ål){Namn=na;Ålder=ål;}}
  • 4. Kodpublic class Elev extends NV10A{private double närvaroProcent;private int födelsedatum;public Elev (na,ål,np,fd){Super(Na,ål)närvaroProcent=np;födelsedatum=fd;}}
  • 5. Varför Arv?• Vissa saker är gemensamma – men inte allt.• Kunna lägga till en subklass, utan att behöva rota i annan kod (kräver någon form av standardisering på metoderna)• Hjälper oss att jobba objektorienterat.
  • 6. EXEMPEL UML + Kod
  • 7. Lite om referenser till objektVad är skillnaden på:Glas ny = new ölGlas (”EmmaBoda”, 33, 200)&ölGlas ny = new Ölglas(”EmmaBoda”,33,200);
  • 8. Man skapar (oftast) objekt av klasserna ”längst ner” i hierakin!
  • 9. Abstrakta klasser Låser en klass.Dvs inga ”new Djur” kan göras. abstract class Djur{
  • 10. Metoder Vad gör metoder? Metoder gör! public String toString(){Namn+”heter jag och är ett”+ras+” och gillar att äta ”+favoritMat }
  • 11. MetoderVi har en klasshierarki med en huvudklass som heter djuroch ett gäng med underklasser som heterKo, Häst, Marsvin, Piggsvin osv.Dessa djur har ett par gemensamma datatyper samt ettpar unika för just det djuret. Anta att vi ska sätta poäng pådessa djur.Men, nu till kruxet. För de olika djuren räknar man utpoängen olika. När det kommer till Marsvin räknar man utpoängen genom att ta antal tassar*åldern/antal ögon. Närdet kommer till Kossors poäng använder man formelnantal tänder/2*åldern och när det kommer till Piggsvin tarvi antal piggar/åldern.Hur ska vi lösa detta så att vi får en metod i klassen Djursom heter getPoints samt få våra underklasser att skickapoäng dit?
  • 12. MetoderVi fortsätter på samma klasshierarki om djur.När det kommer till toString-metoden vill vi ha olikautskrifter beroende på vilka djur.När det kommer till marsvinet vill ha namn,typ avdjur, färg, antal ögon samt poäng.När kossorna skrivs ut vill vi att man skriver utnamn, typ av djur, kön, antal fläckar, antal tändersamt poäng.När det kommer till piggsvin vill vi ha namn, typ avdjur, kön, antal piggar samt poäng.Hur ska vi göra metoder som gör så att allt dettaskrivs ut när vi skriver ut Djur i arraylisten allaDjur?