Task 1 — Классы и объекты

Базовое проектирование классов и создание экземпляров.

Редактировать источник

Задание

Базовое проектирование классов и создание экземпляров. Документация собрана по исходному коду этой практики.

Решение

Полный код решения по этой практике:

Исходные файлы решения

  • Task1/Ball.java
  • Task1/Book.java
  • Task1/Dog.java
  • Task1/TestBall.java
  • Task1/TestBook.java
  • Task1/TestDog.java

Task1/Ball.java

Task1/Ball.java
package Task1;

import java.util.Scanner;

public class Ball {
    private String colour;
    private int rad;
    public Ball(String n, int a){
        colour = n;
        rad = a;
    }
    public Ball(String n){
        colour = n;
        rad = 0;
    }
    public Ball(){
        colour = "red";
        rad = 0;
    }
    public void setRad(int rad) {
        this.rad = rad;
    }
    public void setColour(String colour) {
        this.colour = colour;
    }
    public String getColour() {
        return colour;
    }
    public int getRad() {
        return rad;
    }
    public String toString(){
        return this.colour+"'s radius "+rad;
    }

    public void initSystem() {
        Scanner scanner = new Scanner(System.in);
        String input;
        input = scanner.next();
        //System.out.println(input);
        Scanner scan = new Scanner(System.in);
        String in;
        in = scan.next();
        System.out.println(input+"'s radius "+in);
    }
}

Task1/Book.java

Task1/Book.java
package Task1;
public class Book {
    private String name;
    private int number;
    public Book(String n, int a){
        name = n;
        number = a;
    }
    public Book(String n){
        name = n;
        number = 0;
    }
    public Book(){
        name = "leon";
        number = 0;
    }
    public void setNumber(int number){
        this.number = number;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(String name){
        return name;
    }
    public int getNumber(){
        return  number;
    }
    public String toString(){
        return this.name+" number str "+number;
    }
}

Task1/Dog.java

Task1/Dog.java
package Task1;
public class Dog {
    private String name;
    private int age;
    public Dog(String n, int a){
        name = n;
        age = a;
    }
    public Dog(String n){
        name = n;
        age = 0;
    }
    public Dog(){
        name = "Pup";
        age = 0;
    }
    public void setAge(int age){
        this.age = age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getName(String name){
        return name;
    }
    public int getAge() {
        return age;
    }
    public String toString(){
        return this.name+", age "+this.age;
    }
    public void intoHumanAge(){
        System.out.println(name+"'s age in human years is "+age*7+" years");
    }
}

Task1/TestBall.java

Task1/TestBall.java
package Task1;

public class TestBall {
    public static void main(String[] args){
        Ball b1 = new Ball("yellow", 17);
        Ball b2 = new Ball("black", 44);
        Ball b3 = new Ball("green"); b3.setRad(78);
        b3.initSystem();
        System.out.println(b1.toString());
        System.out.println(b2.toString());
        System.out.println(b3.toString());
    }
}

Task1/TestBook.java

Task1/TestBook.java
package Task1;

public class TestBook {
    public static void main(String[] args){
        Book b1 = new Book("lord", 123);
        Book b2 = new Book("res", 34);
        Book b3 = new Book("got"); b3.setNumber(78);
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
    }
}

Task1/TestDog.java

Task1/TestDog.java
package Task1;

public class TestDog {
    public static void main(String[] args){
        Dog d1 = new Dog("Mike", 2);
        Dog d2 = new Dog("Helen", 7);
        Dog d3 = new Dog("Bob"); d3.setAge(1);
        System.out.println(d1);
        d1.intoHumanAge();
        d2.intoHumanAge();
        d3.intoHumanAge();
    }
}

Описание

В этом модуле используется 6 Java-файлов. Ключевые сущности: Ball, Book, Dog, TestBall, TestBook, TestDog.

tip

Для проверки практики сначала запускайте тестовый/демо-класс из папки задачи, затем расширяйте модель новыми кейсами.

Вывод

Task 1 — Классы и объекты документирует реальное решение из исходного кода.