You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Denne siden vil forsøke å forklare siden Objekter og klasser i Java-kontekst. Om man på forhånd har forstått den objektorienterte tankegangen, vil Java implementasjonenene være vesentlig lettere å forstå. Om man synes den objektorienterte tankegangen er vanskelig å forstå, vil det kanskje hjelpe å se den i Java-kontekst. 

Definere en klasse
En klasse består typisk av felt, metoder og konstruktør(er). Samspillet mellom disse definerer oppførsel og tilstand for objektet.

 

Simple class
public class MyDescriptiveAndConciseClassname {
	
}
  1. class - Dette betyr at "eieren" av innholdet i { } er en klasse.
  2. public - Dette definerer synligheten til klassen. Ofte jobber
    programmer med flere klasser, og noen ganger vil man at 
    klassene skal "vite" om hverandre, andre ganger ikke.
    Mer om synlighet, se Innkapsling og 
    Synlighetsmodifikatorer.
  3. MyDescriptiveAndConciseClassname - Navnet på klassen.
    Har her valgt et forholdsvis teit klassenavn, men dette er 
    bare for å illustrere at det kan være akkurat det man ønsker.
    I tillegg forteller navnet hva slags klassenavn man egentlig
    ønsker; beskrivende og konsise på en gang.


Dette er en klasse med fryktelig lite mening, men uansett;
en klasse.

 

Class with fields and methods
public class Song {
 
	public String title;
	public Person artist;
	public String lyrics;
 
	public void setTitle (String title) {
		this.title = title;
	}
 
	public int countWordInLyrics(String word) {
		// Code that finds the number of
		// occurrences of "word" in lyrics
	}
}
  1. Det er her valgt et kort og presist klassenavn, og man burde
    ikke være i tvil om hva denne klassen "representerer".
  2. Song-klassen har tre felter som kan brukes og forandres
    overalt i klassen. Det er ofte vanlig å ha gettere og settere
    til felter som definerer klassens tilstand, se Innkapsling.
  3. Medtodene ...
  


 

 

  • No labels