added Aufgabenblatt 10
This commit is contained in:
parent
603a8db49f
commit
65be95e3ca
|
@ -0,0 +1,8 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JavadocDeclaration" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ADDITIONAL_TAGS" value="post" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
|
@ -2,6 +2,7 @@
|
|||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/AufgabenBlatt10/AufgabenBlatt10.iml" filepath="$PROJECT_DIR$/AufgabenBlatt10/AufgabenBlatt10.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/AufgabenBlatt3/AufgabenBlatt3.iml" filepath="$PROJECT_DIR$/AufgabenBlatt3/AufgabenBlatt3.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/AufgabenBlatt4/AufgabenBlatt4.iml" filepath="$PROJECT_DIR$/AufgabenBlatt4/AufgabenBlatt4.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/AufgabenBlatt6/AufgabenBlatt6.iml" filepath="$PROJECT_DIR$/AufgabenBlatt6/AufgabenBlatt6.iml" />
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
### IntelliJ IDEA ###
|
||||
out/
|
||||
!**/src/main/**/out/
|
||||
!**/src/test/**/out/
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
bin/
|
||||
!**/src/main/**/bin/
|
||||
!**/src/test/**/bin/
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="openjdk-19" jdkType="JavaSDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module-library">
|
||||
<library name="JUnit4">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.13.1/junit-4.13.1.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
</component>
|
||||
</module>
|
|
@ -0,0 +1,54 @@
|
|||
package aufgabe4;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
/**
|
||||
* Generic test class defining an abstract dog
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Hund {
|
||||
|
||||
/**
|
||||
* name of the dog
|
||||
*/
|
||||
protected String name;
|
||||
|
||||
@Generated({})
|
||||
public Hund(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the barking noises this dog makes to System.out.
|
||||
*/
|
||||
public void bellen() {
|
||||
System.out.println("not so abstract dog barking: wau wau wuff wuff wauf");
|
||||
}
|
||||
|
||||
@Generated({})
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a short description marking this instance as abstract and the name
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "I am an cosmically abstract transmon dog existing only in the quantum realm of the heap and my name is " + name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package aufgabe4;
|
||||
|
||||
/**
|
||||
* Generic test class for testing the dogs ;)
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Hund rocky = new Hund("Rocky");
|
||||
Hund sissi = new Schosshund("Sissi");
|
||||
Hund hektor = new Wachhund("Hektor");
|
||||
|
||||
rocky.bellen();
|
||||
sissi.bellen();
|
||||
hektor.bellen();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package aufgabe4;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
import java.lang.annotation.Inherited;
|
||||
|
||||
/**
|
||||
* Generic test class implementing a cute doggo based on an abstract dog
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Schosshund extends Hund {
|
||||
|
||||
@Generated({})
|
||||
public Schosshund(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the barking noises this dog makes to System.out as:
|
||||
* wau wau wau wau
|
||||
*/
|
||||
@Override
|
||||
public void bellen() {
|
||||
System.out.println("wau wau wau wau");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the race of the dog ("Schosshund") and the name as string
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "I am a Schosshund and my name is " + name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package aufgabe4;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
/**
|
||||
* Generic test class implementing a watchdog based on an abstract dog
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Wachhund extends Hund {
|
||||
|
||||
@Generated({})
|
||||
public Wachhund(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the barking noises this dog makes to System.out as:
|
||||
* WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF
|
||||
*/
|
||||
@Override
|
||||
public void bellen() {
|
||||
System.out.println("WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF WUFF");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the race of the dog ("Wachhund") and the name as string
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "I am a Wachhund and my name is " + name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package aufgabe5;
|
||||
|
||||
/**
|
||||
* Generic test class defining an elephant
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
public class Elephant extends Tier {
|
||||
|
||||
public Elephant() {
|
||||
super(4, "elephanten grau");
|
||||
}
|
||||
|
||||
/**
|
||||
* Trumpet for a certain amount of duration through which sth. is printed to System.out.
|
||||
* The precision of timing is up to milliseconds.
|
||||
* @param dauer duration to trumpet in seconds
|
||||
*/
|
||||
public void trompeten(double dauer) {
|
||||
var start = System.currentTimeMillis();
|
||||
// convert dauer from seconds to milliseconds
|
||||
var duration = (int) (dauer * 1e3);
|
||||
|
||||
while(System.currentTimeMillis() - start < duration) {
|
||||
System.out.println("törööööööööööööö");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package aufgabe5;
|
||||
|
||||
/**
|
||||
* Generic test class defining a cage for animals
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Gehege {
|
||||
/**
|
||||
* How many animals fit in the cage
|
||||
*/
|
||||
private int kapazitaet;
|
||||
/**
|
||||
* Size of the cage in square meters
|
||||
*/
|
||||
private final double groesse;
|
||||
|
||||
public Gehege(int kapazitaet, double groesse) {
|
||||
this.kapazitaet = kapazitaet;
|
||||
this.groesse = groesse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new animal to the cage.
|
||||
* @post increments capacity
|
||||
* @param animal the animal to add
|
||||
*/
|
||||
public void addTier(Tier animal) {
|
||||
System.out.println("added animal " + animal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an animal to the cage.
|
||||
* @post decrements capacity
|
||||
* @param animal the animal to remove
|
||||
*/
|
||||
public void removeTier(Tier animal) {
|
||||
System.out.println("removed animal " + animal);
|
||||
}
|
||||
|
||||
/**
|
||||
* Feeds the animals of this cage.
|
||||
* Does effectively nothing.
|
||||
*/
|
||||
public void tiereFuettern() {
|
||||
// feed the animals in some way cuz we don't know the exact animals in the cage
|
||||
System.out.println("feeded animals");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package aufgabe5;
|
||||
|
||||
/**
|
||||
* Generic test class defining a centipede
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
public class Tausendfuessler extends Tier {
|
||||
|
||||
public Tausendfuessler(String farbe) {
|
||||
super(1000, farbe);
|
||||
}
|
||||
|
||||
/**
|
||||
* Does effectively nothing.
|
||||
*/
|
||||
public void beineEntheddern() {
|
||||
// do sth.
|
||||
System.out.println("Beinchen entheddert");
|
||||
}
|
||||
|
||||
/**
|
||||
* Does effectively nothing.
|
||||
*/
|
||||
public void beineVerheddern() {
|
||||
// do sth.
|
||||
System.out.println("Beinchen verheddert");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package aufgabe5;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* Generic test class for testing animals
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
public class TestAnimals {
|
||||
@Test
|
||||
public void test() {
|
||||
var tier = new Tier(99, "blut rot");
|
||||
var tausendsasser = new Tausendfuessler("tausend füssler schwarz");
|
||||
var elefranz = new Elephant();
|
||||
|
||||
var schlachtHof = new Gehege(5, 0.5);
|
||||
|
||||
schlachtHof.addTier(tier);
|
||||
schlachtHof.addTier(tausendsasser);
|
||||
schlachtHof.addTier(elefranz);
|
||||
|
||||
schlachtHof.removeTier(tausendsasser);
|
||||
|
||||
tausendsasser.beineEntheddern();
|
||||
tausendsasser.beineVerheddern();
|
||||
|
||||
elefranz.trompeten(4.0);
|
||||
|
||||
tier.fressen();
|
||||
tier.laufen(4300_000);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package aufgabe5;
|
||||
|
||||
/**
|
||||
* Generic test class defining an animal
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Tier {
|
||||
private final int anzahlBeine;
|
||||
private final String farbe;
|
||||
|
||||
public Tier(int anzahlBeine, String farbe) {
|
||||
this.anzahlBeine = anzahlBeine;
|
||||
this.farbe = farbe;
|
||||
}
|
||||
|
||||
/**
|
||||
* Walk a certain distance.
|
||||
* Does effectively nothing.
|
||||
* @param strecke the distance to walk
|
||||
*/
|
||||
public void laufen(double strecke) {
|
||||
// walk the distance
|
||||
System.out.println(strecke + "m gelaufen");
|
||||
}
|
||||
|
||||
/**
|
||||
* Eat sth.
|
||||
* Does effectively nothing.
|
||||
*/
|
||||
public void fressen() {
|
||||
// eat sth.
|
||||
System.out.println("yum yum yum yum yum yum yum yum");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package aufgabe6;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Generic test class for testing airplanes
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
public class AirplaneTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
var plane1 = new Verkehrsflugzeug("boeing", 870, "q0tb47q6t3478t6q78", 220);
|
||||
var plane2 = plane1;
|
||||
|
||||
var plane3 = new Doppeldecker("airbus", 170, "ß0q784tß089q34t", false);
|
||||
|
||||
assertEquals(plane1, plane2);
|
||||
|
||||
System.out.println("Can loop? " + plane3.getLooping());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
package aufgabe6;
|
||||
|
||||
/**
|
||||
* Generic test class defining a double winged airplane
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public final class Doppeldecker extends Flugzeug {
|
||||
|
||||
/**
|
||||
* Minimum speed to fly a looping in km/s
|
||||
*/
|
||||
public static final double LOOPING_SPEED = 320;
|
||||
|
||||
private final boolean offenesCockpit;
|
||||
|
||||
public Doppeldecker(String hersteller, int maxSpeed, String immatrikulationNumber, boolean offenesCockpit) {
|
||||
super(hersteller, maxSpeed, 2);
|
||||
setImmatNummer(immatrikulationNumber);
|
||||
this.offenesCockpit = offenesCockpit;
|
||||
}
|
||||
|
||||
public Doppeldecker(String hersteller, int maxSpeed, String immatrikulationNumber) {
|
||||
super(hersteller, maxSpeed, 2);
|
||||
setImmatNummer(immatrikulationNumber);
|
||||
this.offenesCockpit = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* whether the plane as an open cockpit
|
||||
* @return whether the plane as an open cockpit
|
||||
*/
|
||||
public boolean isOffenesCockpit() {
|
||||
return offenesCockpit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return if this plane can fly a looping
|
||||
*/
|
||||
@Override
|
||||
public boolean getLooping() {
|
||||
return getMaxSpeed() > LOOPING_SPEED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof Doppeldecker plane) {
|
||||
return super.equals(obj) && plane.offenesCockpit == this.offenesCockpit;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package aufgabe6;
|
||||
|
||||
abstract class Flugzeug {
|
||||
private String hersteller;// Herstellername
|
||||
private int maxSpeed; // Max. Geschwindigkeit
|
||||
private String immatNummer; // Immatrikulationsnummer
|
||||
private int anzahlFluegel = 1; // Anzahl Flügelpaare
|
||||
public Flugzeug(String hersteller, int maxSpeed, int anzahlFluegel) {
|
||||
this.hersteller = hersteller;
|
||||
this.maxSpeed = maxSpeed;
|
||||
this.anzahlFluegel = anzahlFluegel;
|
||||
}
|
||||
public String getImmatNummer() {
|
||||
return immatNummer;
|
||||
}
|
||||
protected void setImmatNummer(String immatNummer) {
|
||||
this.immatNummer = immatNummer;
|
||||
}
|
||||
public int getMaxSpeed() {
|
||||
return maxSpeed;
|
||||
}
|
||||
abstract public boolean getLooping();
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof Verkehrsflugzeug plane) {
|
||||
return this.immatNummer.equals(plane.getImmatNummer()) && this.maxSpeed == plane.getMaxSpeed();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package aufgabe6;
|
||||
|
||||
/**
|
||||
* Generic test class defining a passenger airplane
|
||||
* _ _ _ _
|
||||
* __ ___ __(_) |_| |_ ___ _ __ | |__ _ _
|
||||
* \ \ /\ / / '__| | __| __/ _ \ '_ \ | '_ \| | | |
|
||||
* \ V V /| | | | |_| || __/ | | | | |_) | |_| |
|
||||
* \_/\_/ |_| |_|\__|\__\___|_| |_| |_.__/ \__, |
|
||||
* |___/
|
||||
* ____ __ __ _
|
||||
* / ___|_ _____ _ __ \ \ / /__ __ _ ___| |
|
||||
* \___ \ \ / / _ \ '_ \ \ \ / / _ \ / _` |/ _ \ |
|
||||
* ___) \ V / __/ | | | \ V / (_) | (_| | __/ |
|
||||
* |____/ \_/ \___|_| |_| \_/ \___/ \__, |\___|_|
|
||||
* |___/
|
||||
* Licensed under the GPLv2 License, Version 2.0 (the "License");
|
||||
* Copyright (c) Sven Vogel
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class Verkehrsflugzeug extends Flugzeug {
|
||||
|
||||
private int passangers;
|
||||
|
||||
public Verkehrsflugzeug(String hersteller, int maxSpeed, String immatrikulationNumber, int passangers) {
|
||||
super(hersteller, maxSpeed, 1);
|
||||
this.passangers = passangers;
|
||||
this.setImmatNummer(immatrikulationNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the number of passengers
|
||||
*/
|
||||
public int getAnzahlPassagiere() {
|
||||
return passangers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the number of passengers
|
||||
* @post alters the amount of passengers
|
||||
* @param passengers the new amount of passengers
|
||||
*/
|
||||
public void setPassangers(int passengers) {
|
||||
this.passangers = passengers;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return if this plane can fly a looping
|
||||
*/
|
||||
@Override
|
||||
public final boolean getLooping() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof Verkehrsflugzeug plane) {
|
||||
return super.equals(obj) && plane.getAnzahlPassagiere() == this.passangers;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue