Skip to content

Instantly share code, notes, and snippets.

@destan
Last active October 4, 2019 12:20
Show Gist options
  • Save destan/e75d5bb8ae983d455ebf to your computer and use it in GitHub Desktop.
Save destan/e75d5bb8ae983d455ebf to your computer and use it in GitHub Desktop.
temel java inheritance sorusu

Aşağıdaki kodu inceleyiniz:

public abstract class Animal {...}

public class Human extends Animal implements Omnivore {...}

public class Deer extends Animal implements Herbivore {...}

public class Lion extends Animal implements Carnivore {...}

public class App {
	public static void main(String [ ] args) {
		Human human1 = new Human();
		Deer deer1 = new Deer();
		Lion lion1 = new Lion();

		FeedingEngine feedingEngine = new FeedingEngine();
		
		feedingEngine.feedWithPlant(deer1);

		feedingEngine.feedWithFish(human1);
		feedingEngine.feedWithPlant(human1);

		feedingEngine.feedWithFish(lion1);
	}
}

Yukarıda verilen sınıfların detayları verilmemiştir. Ayrıca uygulamada var olduğu anlaşılan 3 adet interface ve FeedingService sınıfı da gösterilmemiştir. main() metodundaki kullanımı inceleyerek aşağıdaki soruları yanıtlayınız.

  1. Herbivore, Carnivore ve Omnivore interfacelerinin hiyerarşisi nasıl olabilir? Neden?
  2. feedWithPlant ve feedWithFish metodlarının parametreleri neler olabilir?
  3. Animal sınıfı neden abstract yapılmış olabilir?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment