2017-08-18 4 views
-6

Ich begann Java heute zu lernen, gefolgt von Head First Java, 2nd Edition, und ich habe einige Code, der für mich verwirrend ist. Ich habe Erfahrung in Python, aber das ist neu. Um genauer zu sein, verstehe ich nicht, was Boolean CanRecord = false; tatsächlich tun.Brauchen Hilfe zu verstehen Stück Java-Code

class DVDPlayer { 

    boolean canRecord = false; 

    void recordDVD() { 
     System.out.println("DVD recording"); 
    } 
    void playDVD() { 
     System.out.println("DVD playing"); 
    }  
} 

class DVDPlayerTestDrive { 
    public static void main(String [] args) { 

     DVDPlayer d = new DVDPlayer(); 
     d.canRecord = true; 
     d.playDVD(); 

     if (d.canRecord == true) { 
      d.recordDVD(); 
     } 
    } 
} 
+2

Delare eine boolesche Variable und setzen Sie es auf falsch – Jens

+3

Sie sollten zuerst die Grundlagen lernen. –

+0

Dies ist aus Buch, ich habe das Buch – kronberger

Antwort

0

Auf Ihrer Klasse DVDPlayer haben Sie gesagt, dass ein normaler DVDPlayer nicht aufnehmen kann. Also stellst du es auf falsch.

Wenn Sie möchten, dass Sie aufzeichnen, ändern Sie entweder die Variable direkt, wie Sie es in der Klasse DVDPlayerTestDrive getan haben.

Die boolean canRecord = false ist nur gemeint, um Ihnen zu zeigen, dass es möglich ist, das Verhalten von Objekten zu reproduzieren. In diesem Fall haben Sie eine Klasse, die einen DVDPlayer darstellen sollte und wie wir es kennen, werden die meisten DVDPlayer nicht aufzeichnen.

Konzentrieren Sie sich nicht sehr auf den Code während der ersten Annäherung an objektorientierte Programmierung (ich nehme an, es ist auch Ihre erste OOP-Sprache).

Versuchen Sie, die Konzepte und Ideen zu verstehen, dahinter =)

+0

Jetzt ist es klarer ... Danke – kronberger

0

Wenn dieses Beispiel aus einem Buch ist, dann kann ich nicht einmal vorstellen, was der Autor gemeint. Meine Vision von diesem Beispiel bei weitem nicht ideal, sondern ermöglicht es teilweise das Wesen der OOP zu verstehen

class DVDPlayer { 
    private final boolean recordable; 

    // by default recordable false 
    DVDPlayer() { 
     this(false); 
    } 

    // you can specify recordable 
    DVDPlayer(boolean recordable) { 
     this.recordable = recordable; 
    } 

    void playDVD() { 
     System.out.println("DVD playing"); 
    } 

    void recordDVD() { 
     if (recordable) { 
      System.out.println("DVD recording"); 
     } else { 
      System.out.println("non recordable"); 
     } 
    } 
} 

class DVDPlayerTestDrive { 
    public static void main(String [] args) { 
     DVDPlayer d1 = new DVDPlayer(true); 
     d1.recordDVD(); 
     d1.playDVD(); 

     DVDPlayer d2 = new DVDPlayer(); 
     d2.recordDVD(); 
     d2.playDVD(); 
    } 

Ich hoffe, Sie wissen schon.

Verwandte Themen