avoin/avoin23
Huom! TÄMÄ ON AVOIMEN YLIOPISTON SIVU.
Et voi suorittaa kurssia, ellet ole ilmoittautunut täällä.
Ohjelmointi 1, avoin 2023, luento 16
Muu sisältö: listat, silmukat, muuttujien näkyvyys, hiiren kuuntelu (Jypeli)
- Kuvatiedosto
- Muuttujien näkyvyys
- M: 23. Dynaamiset tietorakenteet
- Hiiren kuuntelu
- Oliot (ei kurssiasiaa, mutta voi auttaa harjoitustyössä selkeyttämään)
- Yksinkertaisesti pikkuluokkia
- Elaimet.cs - pohjaksi Kissa ja Koira-luokka
- ElaimetPerimalla.cs - toteutettu perinnällä sekä lista Elaimista (polymorfismi)
- sama sovellettuna Jypeliin
- Yksinkertaisesti pikkuluokkia
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 16. luento videona: Osa 1 ja 2 MP4 alkuperäinen
- luentoseinä
- PP1. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
Näkyykö muillakin luentovideolla pelkkää mustaa?
—Mullakin näkyy vain musta ruutu :(
VL: kokeilen kohta laittaa varanauhoituksen tyonne kunhan valmistuu...
VL: Nyt on varanauhoitus käytössä.
—Luentoesimerkkien haku versionhallinnasta
siirry hakemistoon johon haluat esimerkit
ekalla kertaa (tai jos olet ennen su 19.10 hakenut niin tuhoa vanha)
git clone https://gitlab.jyu.fi/tie/ohj1/avoin23/esimerkit.git .
jatkossa samassa hakemistossa
git pull
kopsi tuo hakemisto tai ainakin sinua kiinnostava alihakemisto toiseen paikkaan
periaatteessa tuonne syntyneen solutionin voi avata sellaisenaankin, mutta jos siihen tekee muutoksia, niin seuraavalla
pull
-komennolla tulee helposti konflikti
Tiedotusasiaa
- PP luento, ks yläpuolella!
- C#-pikasyntaksi
- Lisämateriaalien sisällys
- Silmukoista: katso luento 11 esimerkkejä ja animaatioita
Muuttujien näkyvyys
- ks. lisämateriaali Muuttujien näkyvyys
- muista myös C#-pikasyntaksi
Luokat ja perintä
Esimerkkejä kielistä
Luokkapohjainen:
- Java
- C#
- C++ (tosin rakenteista ohjelmointia voi tehdä ilmankin luokkia)
- Kotlin (paljon myös funktionaalisen kielen piirteitä)
- Swift
- Delphi (Pascalin käytetyin "oliolaajennus")
- Python (???)
- TypeScript (tosin voi kirjoittaa myös suoraan JavaScriptiäkin ja silloin menee tuonne proton puolelle)
Oliosuuntautunut:
- Smalltalk
Prototyyppipohjainen:
- JavaScript
Funktonaaliset:
- Haskell
- F#
Minimaalinen Vector-luokka
Demojen harjoittelu, d7 klikkaa auki
Näytä koko koodi
ja katsoVector
-luokan miniversiotapublic class Vector { private double x, y; public Vector(double x, double y) { this.x = x; this.y = y; } override public string ToString() { return $"({x,5:0.00},{y,5:0.00})"; } public static double Distance(Vector p1, Vector p2) { double dx = (p1.x - p2.x), dy = (p1.y - p2.y); return Math.Sqrt(dx * dx + dy * dy); } }
Kysymyksiä
- ElaimetPerinnalla.cs - toteutettu perinnällä sekä lista Elaimista (polymorfismi)
Eläimet Jypeliin
- Jypelin toiminta:
- Jypelin "arkkitehtuurikuva"
- Jypelin suoritus -kaavio miten oma koodi on suhteessa Jypelin-koodiin (Framework)
- eläimet sovellettuna Jypeliin
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.