ЗАДАЧА 14.04.01.
package com.javarush.test.level14.lesson04.task01;
/* Building и School
1. Расставь правильно наследование между Building(здание) и School(здание школы).
2. Подумай, объект какого класса должны возвращать методы getSchool и getBuilding.
3. Измени null на объект класса Building или School.
*/
public class Solution
{
public static void main(String[] args)
{
Building school = getSchool();
Building shop = getBuilding();
System.out.println(school);
System.out.println(shop);
}
public static Building getSchool()
{
//измените null на объект класса Building или School
return new School();
}
public static Building getBuilding()
{
//измените null на объект класса Building или School
return new Building();
}
static class School extends Building
{
@Override
public String toString()
{
return "School";
}
}
static class Building /*Add your code here*/
{
@Override
public String toString()
{
return "Building";
}
}
}
ЗАДАЧА 14.04.02.
package com.javarush.test.level14.lesson04.task02;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import static com.javarush.test.level14.lesson04.task02.Solution.CatFactory.getCatByKey;
/* Коты
1. Считывать строки(параметры) с консоли, пока пользователь не введет пустую строку(Enter).
2. Каждый параметр соответствует имени кота.
Для каждого параметра:
3. Создать объект cat класса Cat, который равен коту из getCatByKey(String параметр).
4. Вывести на экран cat.toString().
*/
public class Solution
{
public static void main(String[] args) throws Exception
{
//Add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true)
{
String read = reader.readLine();
if (read.equals("")) break;
Cat cat = getCatByKey(read);
System.out.println(cat.toString());
}
}
static class CatFactory
{
static Cat getCatByKey(String key)
{
Cat cat = null;
if ("vaska".equals(key))
{
cat = new MaleCat("Василий");
} else if ("murka".equals(key))
{
cat = new FemaleCat("Мурочка");
} else if ("kiska".equals(key))
{
cat = new FemaleCat("Кисюлька");
} else
{
cat = new Cat(key);
}
return cat;
}
}
static class Cat
{
private String name;
protected Cat(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public String toString()
{
return "Я уличный кот " + getName();
}
}
static class MaleCat extends Cat
{
MaleCat(String name)
{
super(name);
}
public String toString()
{
return "Я - солидный кошак по имени " + getName();
}
}
static class FemaleCat extends Cat
{
FemaleCat(String name)
{
super(name);
}
public String toString()
{
return "Я - милая кошечка по имени " + getName();
}
}
}
Leave A Comment