Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mikä on olio-ohjelmointi? | Johdatus Olio-Ohjelmointiin (OOP)
C# Perusteiden Jälkeen

bookMikä on olio-ohjelmointi?

Luokka on pohjimmiltaan kaavio olioiden luomiseen, jotka tallentavat tietoa. Luokalla voi olla kenttiä sekä metodeja.

Seuraava kaavio esittää esimerkin luokasta ja sen olioista:

Tämä on kuitenkin sama havainnollistus, jota käytit aiemmassa osiossa oppiessasi rakenteista (Structs), joten saatat kysyä, mikä ero niillä on?

Peruskäsitteiden osalta luokat ja rakenteet ovat olennaisesti samanlaisia. Rakenteet ovat kuitenkin rajoitetumpi versio luokista. Toisin kuin rakenteet, luokat voivat muodostaa monimutkaisia suhteita toisiinsa. Esimerkiksi luokka voi olla toisen luokan aliluokka ja sisältää lisätoiminnallisuuksia. Tässä osiossa opit kaikki luokkien käsitteet, jotka ovat hyvin samankaltaisia rakenteiden kanssa. Seuraavassa osiossa syvennät tätä tietoa ja opit luokkien yksityiskohdista.

Olio-ohjelmointi (Object-Oriented Programming, OOP) on ohjelmointiparadigma eli yksinkertaisesti ohjelmointitapa, jossa tiedot ja metodit järjestetään pääasiassa luokkien sisälle. Tässä paradigmassa koko koodi rakentuu luokkien ja niiden olioiden ympärille, mistä tulee nimitys olio-ohjelmointi.

Note
Huomautus

Paradigma on tapa luokitella ohjelmoinnin menetelmä. Esimerkiksi funktionaalinen ohjelmointi on paradigma, jossa ohjelmat rakennetaan kirjoittamalla funktioita. Ohjelmointikielet luokitellaan usein paradigmien mukaan. Esimerkiksi Haskellia kutsutaan funktionaaliseksi ohjelmointikieleksi.

C# on olio-ohjelmointikieli. Tämä näkyy myös C#-ohjelman peruskoodista:

index.cs

index.cs

copy
123456789
using System; public class ConsoleApp { public static void Main(string[] args) { Console.WriteLine ("Hello World"); } }

Tässä Main-metodi sijaitsee ConsoleApp-luokan sisällä, joka edustaa itse ohjelmaa. Kaikki kirjoittamasi koodi on lähes aina luokan sisällä tai liittyy johonkin luokkaan.

1. Mikä on luokka ohjelmoinnissa?

2. Mikä erottaa luokat rakenteista?

question mark

Mikä on luokka ohjelmoinnissa?

Select the correct answer

question mark

Mikä erottaa luokat rakenteista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 2.04

bookMikä on olio-ohjelmointi?

Pyyhkäise näyttääksesi valikon

Luokka on pohjimmiltaan kaavio olioiden luomiseen, jotka tallentavat tietoa. Luokalla voi olla kenttiä sekä metodeja.

Seuraava kaavio esittää esimerkin luokasta ja sen olioista:

Tämä on kuitenkin sama havainnollistus, jota käytit aiemmassa osiossa oppiessasi rakenteista (Structs), joten saatat kysyä, mikä ero niillä on?

Peruskäsitteiden osalta luokat ja rakenteet ovat olennaisesti samanlaisia. Rakenteet ovat kuitenkin rajoitetumpi versio luokista. Toisin kuin rakenteet, luokat voivat muodostaa monimutkaisia suhteita toisiinsa. Esimerkiksi luokka voi olla toisen luokan aliluokka ja sisältää lisätoiminnallisuuksia. Tässä osiossa opit kaikki luokkien käsitteet, jotka ovat hyvin samankaltaisia rakenteiden kanssa. Seuraavassa osiossa syvennät tätä tietoa ja opit luokkien yksityiskohdista.

Olio-ohjelmointi (Object-Oriented Programming, OOP) on ohjelmointiparadigma eli yksinkertaisesti ohjelmointitapa, jossa tiedot ja metodit järjestetään pääasiassa luokkien sisälle. Tässä paradigmassa koko koodi rakentuu luokkien ja niiden olioiden ympärille, mistä tulee nimitys olio-ohjelmointi.

Note
Huomautus

Paradigma on tapa luokitella ohjelmoinnin menetelmä. Esimerkiksi funktionaalinen ohjelmointi on paradigma, jossa ohjelmat rakennetaan kirjoittamalla funktioita. Ohjelmointikielet luokitellaan usein paradigmien mukaan. Esimerkiksi Haskellia kutsutaan funktionaaliseksi ohjelmointikieleksi.

C# on olio-ohjelmointikieli. Tämä näkyy myös C#-ohjelman peruskoodista:

index.cs

index.cs

copy
123456789
using System; public class ConsoleApp { public static void Main(string[] args) { Console.WriteLine ("Hello World"); } }

Tässä Main-metodi sijaitsee ConsoleApp-luokan sisällä, joka edustaa itse ohjelmaa. Kaikki kirjoittamasi koodi on lähes aina luokan sisällä tai liittyy johonkin luokkaan.

1. Mikä on luokka ohjelmoinnissa?

2. Mikä erottaa luokat rakenteista?

question mark

Mikä on luokka ohjelmoinnissa?

Select the correct answer

question mark

Mikä erottaa luokat rakenteista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
some-alt