Java Tutorial/Class Definition/Abstract Class

Материал из Java эксперт
Перейти к: навигация, поиск

Abstract Classes

  1. Provide a contract between a service provider and its clients.
  2. An abstract class can provide implementation.
  3. To make an abstract method, use the abstract modifier in front of the method declaration.



   <source lang="java">

public abstract class DefaultPrinter {

 public String toString() {
   return "Use this to print documents.";
 }
 public abstract void print(Object document);

}</source>





A demonstration of abstract.

   <source lang="java">

abstract class A {

 abstract void callme();
 void callmetoo() {
   System.out.println("This is a concrete method.");
 }

} class B extends A {

 void callme() {
   System.out.println("B"s implementation of callme.");
 }

} class AbstractDemo {

 public static void main(String args[]) {
   B b = new B();
   b.callme();
   b.callmetoo();
 }

}</source>





Using abstract methods and classes.

   <source lang="java">

abstract class Figure {

 double dim1;
 double dim2;
 Figure(double a, double b) {
   dim1 = a;
   dim2 = b;
 }
 abstract double area();

} class Rectangle extends Figure {

 Rectangle(double a, double b) {
   super(a, b);
 }
 double area() {
   System.out.println("Inside Area for Rectangle.");
   return dim1 * dim2;
 }

} class Triangle extends Figure {

 Triangle(double a, double b) {
   super(a, b);
 }
 double area() {
   System.out.println("Inside Area for Triangle.");
   return dim1 * dim2 / 2;
 }

} class AbstractAreas {

 public static void main(String args[]) {
   Rectangle r = new Rectangle(9, 5);
   Triangle t = new Triangle(10, 8);
   Figure figref;
   figref = r;
   System.out.println("Area is " + figref.area());
   figref = t;
   System.out.println("Area is " + figref.area());
 }

}</source>