User Tools

Site Tools


linuxbog:java:java-avancerede-klasser-abstract
Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31
forrige Kapitel 21. Avancerede klasser næste

21.3. Nøgleordet abstract

Noget der er erklæret abstract er ikke implementeret og skal defineres i en nedarvning.

Det skrives i kursiv i UML-notationen.

21.3.1. Klasser

En abstrakt klasse erklæres således

public //abstract// class X 
{
  public void a()
  { ////..// }
}

Det er ikke tilladt at oprette objekter fra en abstrakt klasse

public static void main(String args[])
  {
    X x = new X(); //// ulovligt! X er abstrakt//

I stedet skal man arve fra klassen

public class Y extends X 
{
}

og lave objekter fra den nedarvede klasse:

public static void main(String args[])
  {
    X x; //// lovligt// x = new Y(); //// lovligt, Y er ikke abstrakt//

Basisklasserne for IO-systemet, InputStream og OutputStream, abstrakte, fordi programmøren altid skal bruge en mere konkret klasse, f.eks. FileInputStream (seAfsnit 15.5.4).

Det er lovligt (og nyttigt i visse tilfælde) at have variabler af en abstrakt klasse (det svarer til, at det er lovligt og nyttigt at have variabler af en interface-type).

21.3.2. Metoder

En metode erklæret abstract har et metodehoved, men ingen krop. Den kan kun erklæres i en abstrakt klasse

public abstract class X 
{
  public //abstract// void a();
}

Nedarvede klasser skal definere de abstrakte metoder (eller også selv være abstrakte)

public class Y extends X 
{
  public void a()
  { ////..// }
}

forrige hjem næste
Nøgleordet final op Indre klasser
linuxbog/java/java-avancerede-klasser-abstract.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.