Klassendefinitionen in Java und C++
Java C++
// Base class
class Animal {
    // Field
    private String name;

    // Constructor
    public Animal(String name) {
        this.name = name;
    }

    // Method
    public void makeSound() {
        System.out.println("Some generic animal sound");
    }

    // Getter
    public String getName() {
        return name;
    }
}

// Base class
class Animal {
private:
    string name;

public:
    // Constructor
    Animal(string name) : name(name) {}

    // Method
    virtual void makeSound() {
        cout << "Some generic animal sound" << endl;
    }

    // Getter
    string getName() {
        return name;
    }
};
// Derived class
class Dog extends Animal {
    // Constructor
    public Dog(String name) {
        super(name);
    }

    // Overriding method
    @Override
    public void makeSound() {
        System.out.println("Woof");
    }
}
// Derived class
class Dog : public Animal {
public:
    // Constructor
    Dog(string name) : Animal(name) {}

    // Overriding method
    void makeSound() override {
        cout << "Woof" << endl;
    }
};

// Main class to demonstrate inheritance
public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Animal("Generic Animal");
        Dog myDog = new Dog("Rex");

        myAnimal.makeSound(); // Output: Some generic animal sound
        myDog.makeSound();    // Output: Woof
    }
}
// Derived class
class Dog : public Animal {
public:
    // Constructor
    Dog(string name) : Animal(name) {}

    // Overriding method
    void makeSound() override {
        cout << "Woof" << endl;
    }
};



Last modified: Friday, 12 July 2024, 4:56 PM