Praktikum4: OOP ja pärilus

From ICO wiki
Jump to navigationJump to search

Teooria

Viitetüüpi muutujad CSharp programmeerimiskeeles

Käsi_hoitud_tegevus

Eelmisel nädalal praktikumis valminud lahendused: http://enos.itcollege.ee/~mposka/CSharp2015/Paevaope/Praktikumid/Praktikum03/

Ülesanne 1

Klass Ristkyliku leiad eelmise praktikumi lahendusest

  • Loo klass Ristkylik
  • Loo konstruktor, mis võtab sisendiks ristküliku pikkuse ja laiuse
  • Klassis olevad väljad on kõik privaatsed
  • Loo meetodid
    • arvutaPindala
    • arvutaYmbermoot
    • kasOnVordsed - kontrollib kas kaks ristkülikut on omavahel võrdsed
    • kasOnRuut

Loo alamklass Risttahukas ning realiseeri järgmised meetodid

  • arvutaPindala
  • arvutaRuumala
  • arvutaYmbermoot
  • kasOnVordsed
  • kasOnKuup

Ülesanne 2

Klassi punkt lahenduse leiad eelmise praktikumi lahendusest

  • Loo klass Punkt väljadega x ja y
  • Realiseeri järgnevad meetodid:
    • kaugusNullist - tagastatakse kaugus nullpunktist
    • teataAndmed - kirjutatakse välja punkti koordinaadi
    • kaugusTeisestPunktist - meetodile on võimalik kaasa anda teine punkt ning tagastatakse kaugus sellest punktist
    • kasOnAlgusPunkt - kontrollitakse, kas tegemist on koordinaatide alguspunktiga(0,0)
  • Loo alamklass Ruumipunkt
    • kasOnAlgusPunkt
    • kaugusTeisestPunktist

Materjal: Info leiate siit

Ülesanne 3

Luua klass Mootorsõidk

  • Muutujad
    • Kiirus (vaikimisi 0)
    • MaxKiirus (vaikimisi 20)

Konstruktor(int maxkiirus) – määratakse max kiirus

  • Meetodid
    • Kiirenda() lisab kiirusele 10
    • Kiirenda(int kiirus) lisab kiirusele parameetri kiirus väärtuse ja kontrollib kas max kiirus on käes. Kui nii siis kiirus sellest suuremaks ei muutu.
    • Stop() kiirus läheb nulli
    • Hetkeseis() tagastab tekstina mootorsõiduki hetkeseisu (sõidab kiirusega x või seisab)
    • ToString() panna väljastama Hetkeseis() poolt tagastatavat teksti


Luu klass Auto, mis pärineb klassist Mootorsõiduk

  • Muutujad
    • Uksed avatud (vaikimisi false)

Konstruktor annab baasklassi konstruktori abil ette max kiiruseks 100

  • Meetodid
    • AvaUksed() sõiduk peatatakse, uksed avatakse
    • SulgeUksed() sulgeb uksed
    • Kiirenda(int kiirus) kirjutab üle baasklassi meetodi, kontrollib enne kiirendamist kas uksed on avatud ei saa kiirendada.
    • Hetkeseis() tagastab tekstina auto hetkeseisu (uksed avatud, sisab või sõidab kiirusega x)
    • ToString() panna väljastama Hetkeseis() poolt tagastatavat teksti

Käsi_mittehoitud_tegevus

Luua klass Veoauto, mis pärineb klassist Auto

  • Muutujad
    • Kallutab (vaikimisi false)

Konstruktor annab baasklassi konstruktori abil ette max kiiruseks 70

  • Meetodid:
    • HakkaKallutama() sõiduk peatatakse, hakkab kallutama
    • Kiirenda(int kiirus) kontrollida kas toimub kallutamine kui nii siis ei kiirenda kui kallutamist ei toimu siis kiirendada
    • Hetkeseis() tagastab tekstina auto hetkeseisu (kallutab, uksed avatud, sisab või sõidab kiirusega x)
    • ToString() panna väljastama Hetkeseis() poolt tagastatavat teksti