Föråldrad bok. Dessutom är OOP rätt föråldrad teknik också. De flesta problem idag löses igenom funktionsprogrammering, d.v.s enkel programmering. Den minsta koden är ju den bästa koden som det sägs.
Något som jag dock skulle rekommendera är att kunna arv och interface och dess tillämpningar.
Jag brukar säga att:
Arv = Om du vill utöka en klass istället för att skriva om en hel klass
Interface = Om du vill filtrera bort funktioner och fält från en klass
Mer än så brukar jag inte använda och detta duger om du vill skapa feta applikationer. Något som jag också rekommenderar är Spring Framework som innehåller DI - Dependency Injection.
DI används när du vill att ditt objekt ska vara åtkommpligt överallt vid uppstart utav ditt program. Detta underlättar, annars får du själv hålla på deklarera objeket med objekt i konstrukören.
Exempel:
class A {
private C c;
public A(C c){
this.c = c;
}
}
class B {
private C c;
public B(C c){
this.c = c;
}
}
// Nu har både b och a, c i sig. Så ändras något i c från klass A eller B så kan dom "tala med varandra". Dom delar alltså samma minne.
class D {
private C c;
public D(C c){
c = new C();
B b = new B(c);
A a = new A(c);
}
}
Då är det bättre att göra så här:
class A {
@Autowired
private C c;
public A(){
}
}
class B {
@Autowired
private C c;
public B(){
}
}
// Nu är objektet c åtkommlig i klasserna A, B, D då dom delar samma minne. Detta används i Spring Framework.
class D {
@Autowired
private C c;
public D(){
}
}