Guten Morgen beisammen,
irgendwie steckt hier der Wurm drin, aber wieso?
Alles anzeigen
Die Probleme liegen bei der Implementation des Interface "Haustier" in "Hund" und seinen Aufrufen
-Bello.seiFreundlich(); und
-Bella.spielen();
Irgendwie schmeißt mir mein Lehrbuch noch viele Codeschnipsel hin, die ich selbst zusammenschustern muss. Mein Lerneffekt = 0
Wie man sieht ist mein Code wahrscheinlich auch total wirr, irgendwie basieren meine Codeeinfügungen eher auf dem Trial and Error-Prinzip.
Könnte mir vielleicht jemand sagen, wie ich "Implements" in diesem Bsp. richtig nutze?
Danke
irgendwie steckt hier der Wurm drin, aber wieso?
Quellcode
- public class Tier {
- boolean lebtInEuropa;
- String essen = "Fleisch";
- void geraeusch() {
- System.out.println("wau");
- }
- void hunger() {
- System.out.println("*um den Napf*");
- }
- static void spritzen(Tier a){
- a.weinen();
- }
- void weinen() {
- System.out.println("*heul*");
- }
- public static void main (String args[]) {
- Hund Bello = new Hund();
- Hund Bella = new Hund();
- Katze Muschi = new Katze();
- Huhn Tommy = new Huhn();
- Hahn Tammy = new Hahn();
- Muschi.hunger();
- Tommy.hunger();
- Bello.hunger();
- Muschi.geraeusch();
- Tommy.geraeusch();
- Bello.geraeusch();
- Muschi.miauen();
- System.out.println("---------------------");
- Tier[] tiere = new Tier[4];
- tiere[0] = Bello;
- tiere[1] = Muschi;
- tiere[2] = Tommy;
- tiere[3] = Tammy;
- Hund[] hunde = new Hund[1];
- hunde[0] = Bello;
- hunde[0] = Bella;
- //System.out.println(ArraystoString(hunde));
- for(int i = 0; i< tiere.length;i++){
- System.out.println(tiere[i] + ":");
- tiere[i].hunger();
- tiere[i].geraeusch();
- //tiere[i].miauen(); // geht nicht, da miauen nur in Katze vorkommt
- spritzen(tiere[i]);
- System.out.println("ich esse " + tiere[i].essen);
- System.out.println("---------------------");
- }
- System.out.println("---------------------");
- Bello.seiFreundlich();
- Bella.spielen();
- }
- public interface Haustier {
- public abstract void seiFreundlich();
- public abstract void spielen();
- }
- }
- class Hund extends Tier implements Haustier {
- public void seiFreundlich(){
- System.out.println("ich bin freundlich!");
- }
- public void spielen(){
- System.out.println("spiel mit mir!!");
- }
- }
- class Katze extends Tier {
- void miauen() {
- System.out.println("miau1");
- }
- void geraeusch() {
- System.out.println("miau");
- }
- void hunger() {
- System.out.println("*kratzen*");
- }
- void weinen() {
- System.out.println("*heul_katze*");
- }
- }
- class Huhn extends Tier {
- String essen = "Körner";
- void geraeusch() {
- System.out.println("guckguck");
- }
- void hunger() {
- System.out.println("*picken*");
- }
- void weinen() {
- System.out.println("*heul_huhn*");
- }
- }
- class Hahn extends Huhn {
- void geraeusch() {
- System.out.println("gackgack");
- }
- void weinen() {
- System.out.println("*heul_hahn*");
- }
- }
Die Probleme liegen bei der Implementation des Interface "Haustier" in "Hund" und seinen Aufrufen
-Bello.seiFreundlich(); und
-Bella.spielen();
Irgendwie schmeißt mir mein Lehrbuch noch viele Codeschnipsel hin, die ich selbst zusammenschustern muss. Mein Lerneffekt = 0
Wie man sieht ist mein Code wahrscheinlich auch total wirr, irgendwie basieren meine Codeeinfügungen eher auf dem Trial and Error-Prinzip.
Könnte mir vielleicht jemand sagen, wie ich "Implements" in diesem Bsp. richtig nutze?
Danke
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kingele ()