Kurssisisältö
Java Laajennettu
Java Laajennettu
Mikä on luokka?
Luokka
Luokka on olio-ohjelmoinnin (OOP) peruskäsite. Se tarkoittaa mallipohjaa olioiden luomiseen. Luokka koostuu kentistä (data) ja metodeista (toiminta). Tarkastellaan luokkaa Dog
, jossa kentät (data) sisältävät tietoa koiran name
- ja age
-arvoista, ja metodi (toiminta) saa koiran esittelemään itsensä ja kertomaan nimensä:
Dog.java
class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } }
Tarkastellaan, mitkä osat muodostavat datan (kentät) ja mitkä kuvaavat käyttäytymistä (metodit):
Kuten kaaviosta näemme, luokassa on kenttiä, joita ei ole alustettu luokan sisällä, sekä metodi, jota ei vielä kutsuta missään. Luodaan Dog
-luokan olio pääluokkaan ja alustetaan sen kentät:
Main.java
public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; } }
Loimme olion Dog
-luokasta ja annoimme sille nimeksi dog
.
Syntaksi olion luomiseksi luokasta on:
ClassName objectName = new ClassName();
Alustimme myös olion ominaisuudet asettamalla kentille arvot.
Koiramme nimi on Brian
ja ikä on 13
.
Syntaksi olion kenttien alustamiseen on:
objectName.fieldName = value;
Nyt meillä on Dog
-luokan olio, jonka kentät on alustettu.
Seuraavaksi kutsutaan metodia Dog
-luokastamme:
Main.java
package com.example; class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; dog.introduce(); } }
Onnistuneesti kutsuttiin metodia Dog
-luokasta käyttämällä kyseistä metodia Dog
-olion kautta. Saatat huomata saman syntaksin, kun kutsuimme aiemmin metodeja String
-luokasta.
1. Kuinka luokka määritellään?
2. Tulisiiko meidän luoda uusi luokka toisen luokan sisälle?
Kiitos palautteestasi!