Jaka jest różnica między dziedziczeniem a delegowaniem w java [duplikat]
Możliwy duplikat:
Wolisz kompozycję niż dziedziczenie?
Jaka jest różnica między dziedziczeniem a delegowaniem w Javie?
Jak korzystać z następującego przykładu w moim projekcie? Czy możesz mnie poprowadzić z delegacją. Wiem o spadku, ale nie mam zbyt wiele wiedzy na temat delegacji. Więc proszę podać właściwy powód. Dlaczego powinienem z tego korzystać?
package com.m;
class RealPrinter { // the "delegate"
void print() {
System.out.println("something");
}
}
class Printer { // the "delegator"
RealPrinter p = new RealPrinter(); // create the delegate
void print() {
p.print(); // delegation
}
}
public class Tester {
// to the outside world it looks like Printer actually prints.
public static void main(String[] args) {
Printer printer = new Printer();
printer.print();
}
}