@Sergei1111
Java

Этот код является ООП?

public abstract class C {
    public void c(){
        System.out.println("Меня зовут");
    }
}

public class A extends C implements D{
    C c = new C() {};
    public void a(){
        System.out.print("Иванов ");
        System.out.println("Иван");
    }

    @Override
    public void d() {
        System.out.println("Я живу в большом городе");
    }
}

interface D {
    public void d();
}

public class B extends A{
    A a = new A();
    private int age;
    public void setage(int a){
        this.age = a;
    }
    public int getage(){
        return age;
        }
    
        public void b(){
        B b = new B();
        a.c();
        a.a();
        a.d();
        b.setage(20);
        System.out.println("Мне " + b.getage() + " лет");
    }
}

public class E {
    public static void main(String[] args) {
       B b = new B();
        b.b();
    }
}
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Является ли код ООП - да, является. Но как отметил коллега, над ним стоит поработать. Прочитайте про java naming convention.
Также есть неплохой курс на https://refactoring.guru/refactoring
Классы должны иметь понятное название
class B extends A
Не забываем про camelCase
b.setage(20);
Модификатор доступа public в интерфейсе лишний
interface D {
    public void d();
}

Нельзя создать экземпляр абстрактного класса:
C c = new C();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Точно могу сказать, что код мусор, с таким неймингом.

По какому принципу тут вообще код разделён?
Ответ написан
Комментировать
Jacen11
@Jacen11
Этот код является ООП?
да, но это не ваша заслуга, просто язык объектно ориентированный и заставляет принципы ооп использовать

очень много неточностей, ООП лучше на практике осваивать, или попробовать описать реальные объекты через программирование. Например уточек. Какие они есть, что умеют. А если уточка резиновая? И тд
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 нояб. 2024, в 13:07
10000 руб./за проект
27 нояб. 2024, в 12:53
70000 руб./за проект
27 нояб. 2024, в 12:50
25000 руб./за проект