Mikä on luokka?
Pyyhkäise näyttääksesi valikon
Luokka
Luokka on olio-ohjelmoinnin (OOP) peruskäsite. Se tarkoittaa mallipohjaa olioiden luomiseen. Luokka koostuu kentistä (data) ja metodeista (toiminnallisuus). Tarkastellaan luokkaa Dog, jossa kentät (data) sisältävät tietoa koiran name- ja age-arvoista, ja metodi (toiminnallisuus) saa koiran esittelemään itsensä ja kertomaan nimensä:
Dog.java
12345678class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } }
Tarkastellaan, mitä tarkoitetaan datalla (kentät) ja mitä toiminnalla (metodit):
Kuten kaaviosta nähdään, luokassa on kenttiä, joita ei ole alustettu luokan sisällä, sekä metodi, jota ei ole vielä kutsuttu missään. Luodaan Dog-luokan olio pääluokkaan ja alustetaan sen kentät:
Main.java
1234567public 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ä 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
1234567891011121314151617181920package 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 kutsuttiin aiemmin metodeja String-luokasta.
1. Kuinka luokka määritellään?
2. Pitäisikö meidän luoda uusi luokka toisen luokan sisälle?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme