Kody źródłowe/Klasa abstrakcyjna
Wygląd
C++
[edytuj] class Abstrakcyjna {
public:
virtual void metodaCzystoWirtualna() = 0; // metoda czysto wirtualna
};
class Nieabstrakcyjna : public Abstrakcyjna { // dziedziczenie
public:
void metodaCzystoWirtualna() { // implementacja metody czysto wirtualnej
// instrukcje metody
return;
}
};
int main() {
// Abstrakcyjna obiektX; // błąd, klasa jest abstrakcyjna
Nieabstrakcyjna obiektY; // poprawne
return 0;
}
Java
[edytuj] abstract class Figura {
abstract public double pole();
}
class Kolo extends Figura { //dziedziczenie
public double promien;
public Kolo( double p ) {
this.promien = p;
}
// implementacja metody czysto wirtualnej
public double pole() {
return 3.14 * promien * promien;
}
}
public class Program {
public static void main( String[] args ) {
// Figura f = new Figura(); // niemożliwe: Figura jest klasą abstrakcyjną
Kolo k = new Kolo( 2 );
System.out.println( k.pole() );
}
}