From 3d01cabd85a4bd075a64ed715480d405c44c2b22 Mon Sep 17 00:00:00 2001 From: Achintya Rajan <39139575+ARajan1084@users.noreply.github.com> Date: Sun, 27 Sep 2020 23:42:03 -0700 Subject: [PATCH 1/2] med difficulty practice problem for abstract classes Ch 15 --- .../chapter15/practice/animals/Animal.java | 18 +++++++++ .../chapter15/practice/animals/Cat.java | 13 +++++++ .../chapter15/practice/animals/Dog.java | 13 +++++++ .../chapter15/practice/animals/Zebra.java | 13 +++++++ .../chapter15/solutions/animals/Animal.java | 37 +++++++++++++++++++ .../chapter15/solutions/animals/Cat.java | 14 +++++++ .../chapter15/solutions/animals/Dog.java | 16 ++++++++ .../chapter15/solutions/animals/Zebra.java | 15 ++++++++ 8 files changed, 139 insertions(+) create mode 100644 src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/solutions/animals/Animal.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java create mode 100644 src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java new file mode 100644 index 0000000..bfc85e1 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java @@ -0,0 +1,18 @@ +package com.codefortomorrow.advanced.chapter15.practice.animals; + +public abstract class Animal { + private String species; + private int age; + private String gender; + private String sound; + + public Animal(String species, int age, String gender, String sound) { + // TODO: Complete + } + + public void grow() { + // TODO: Complete + } + + // TODO: Abstract Methods +} diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java new file mode 100644 index 0000000..99bbb37 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java @@ -0,0 +1,13 @@ +package com.codefortomorrow.advanced.chapter15.practice.animals; + +public class Cat extends Animal{ + // TODO: Fields + + public Cat (String species, int age, String gender, String sound, String color) { + // TODO: Complete + } + + public void makeSound() { + // TODO: Complete + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java new file mode 100644 index 0000000..f4ccd7d --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java @@ -0,0 +1,13 @@ +package com.codefortomorrow.advanced.chapter15.practice.animals; + +public class Dog extends Animal{ + // TODO: Fields + + public Dog (String species, int age, String gender, String sound, int ageDogYears) { + // TODO: Complete + } + + public void makeSound() { + // TODO: Complete + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java new file mode 100644 index 0000000..94904e1 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java @@ -0,0 +1,13 @@ +package com.codefortomorrow.advanced.chapter15.practice.animals; + +public class Zebra extends Animal { + // TODO: Fields + + public Zebra (String species, int age, String gender, String sound, int numStripes) { + // TODO: Complete + } + + public void makeSound() { + // TODO: Complete + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Animal.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Animal.java new file mode 100644 index 0000000..b0ae84f --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Animal.java @@ -0,0 +1,37 @@ +package com.codefortomorrow.advanced.chapter15.solutions.animals; + +public abstract class Animal { + private String species; + private int age; + private String gender; + private String sound; + + public Animal(String species, int age, String gender, String sound) { + this.species = species; + this.age = age; + this.gender = gender; + this.sound = sound; + } + + public void grow() { + age++; + } + + public abstract void makeSound(); + + public String getSpecies() { + return species; + } + + public int getAge() { + return age; + } + + public String getGender() { + return gender; + } + + public String getSound() { + return sound; + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java new file mode 100644 index 0000000..1634230 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java @@ -0,0 +1,14 @@ +package com.codefortomorrow.advanced.chapter15.solutions.animals; + +public class Cat extends Animal { + private String color; + + public Cat(String species, int age, String gender, String sound, String color) { + super(species, age, gender, sound); + this.color = color; + } + + public void makeSound() { + System.out.println(getSound()); + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java new file mode 100644 index 0000000..e92bb24 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java @@ -0,0 +1,16 @@ +package com.codefortomorrow.advanced.chapter15.solutions.animals; + +public class Dog extends Animal { + int ageInDogYears; + + public Dog(String species, int age, String gender, String sound, int ageInDogYears) { + super(species, age, gender, sound); + this.ageInDogYears = ageInDogYears; + } + + public void makeSound() { + System.out.println(getSound()); + System.out.println(getSound()); + System.out.println(getSound()); + } +} diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java new file mode 100644 index 0000000..2196016 --- /dev/null +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java @@ -0,0 +1,15 @@ +package com.codefortomorrow.advanced.chapter15.solutions.animals; + +public class Zebra extends Animal { + private int numStripes; + + public Zebra(String species, int age, String gender, String sound, int numStripes) { + super(species, age, gender, sound); + this.numStripes = numStripes; + } + + public void makeSound() { + System.out.println(getSound()); + System.out.println(getSound()); + } +} From c8896b4b3387c0545e9887e1fa9fefaadb36b62c Mon Sep 17 00:00:00 2001 From: ARajan1084 Date: Mon, 28 Sep 2020 06:46:28 +0000 Subject: [PATCH 2/2] Bot: Prettified Java code! --- .../advanced/chapter15/practice/animals/Animal.java | 1 - .../advanced/chapter15/practice/animals/Cat.java | 11 +++++++++-- .../advanced/chapter15/practice/animals/Dog.java | 11 +++++++++-- .../advanced/chapter15/practice/animals/Zebra.java | 9 ++++++++- .../advanced/chapter15/solutions/animals/Cat.java | 8 +++++++- .../advanced/chapter15/solutions/animals/Dog.java | 8 +++++++- .../advanced/chapter15/solutions/animals/Zebra.java | 8 +++++++- 7 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java index bfc85e1..2c56942 100644 --- a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Animal.java @@ -13,6 +13,5 @@ public Animal(String species, int age, String gender, String sound) { public void grow() { // TODO: Complete } - // TODO: Abstract Methods } diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java index 99bbb37..f5148db 100644 --- a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Cat.java @@ -1,9 +1,16 @@ package com.codefortomorrow.advanced.chapter15.practice.animals; -public class Cat extends Animal{ +public class Cat extends Animal { + // TODO: Fields - public Cat (String species, int age, String gender, String sound, String color) { + public Cat( + String species, + int age, + String gender, + String sound, + String color + ) { // TODO: Complete } diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java index f4ccd7d..471170c 100644 --- a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Dog.java @@ -1,9 +1,16 @@ package com.codefortomorrow.advanced.chapter15.practice.animals; -public class Dog extends Animal{ +public class Dog extends Animal { + // TODO: Fields - public Dog (String species, int age, String gender, String sound, int ageDogYears) { + public Dog( + String species, + int age, + String gender, + String sound, + int ageDogYears + ) { // TODO: Complete } diff --git a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java index 94904e1..857bf0f 100644 --- a/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java +++ b/src/com/codefortomorrow/advanced/chapter15/practice/animals/Zebra.java @@ -1,9 +1,16 @@ package com.codefortomorrow.advanced.chapter15.practice.animals; public class Zebra extends Animal { + // TODO: Fields - public Zebra (String species, int age, String gender, String sound, int numStripes) { + public Zebra( + String species, + int age, + String gender, + String sound, + int numStripes + ) { // TODO: Complete } diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java index 1634230..de1c31e 100644 --- a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Cat.java @@ -3,7 +3,13 @@ public class Cat extends Animal { private String color; - public Cat(String species, int age, String gender, String sound, String color) { + public Cat( + String species, + int age, + String gender, + String sound, + String color + ) { super(species, age, gender, sound); this.color = color; } diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java index e92bb24..9167956 100644 --- a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Dog.java @@ -3,7 +3,13 @@ public class Dog extends Animal { int ageInDogYears; - public Dog(String species, int age, String gender, String sound, int ageInDogYears) { + public Dog( + String species, + int age, + String gender, + String sound, + int ageInDogYears + ) { super(species, age, gender, sound); this.ageInDogYears = ageInDogYears; } diff --git a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java index 2196016..f6a00da 100644 --- a/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java +++ b/src/com/codefortomorrow/advanced/chapter15/solutions/animals/Zebra.java @@ -3,7 +3,13 @@ public class Zebra extends Animal { private int numStripes; - public Zebra(String species, int age, String gender, String sound, int numStripes) { + public Zebra( + String species, + int age, + String gender, + String sound, + int numStripes + ) { super(species, age, gender, sound); this.numStripes = numStripes; }