«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Могут ли абстрактные классы иметь конструкторы?

Могут ли абстрактные классы иметь конструкторы?

Опубликовано в 2025-02-06
Просматривать:267

Can Abstract Classes Have Constructors?

могут абстрактные классы обладают конструкторами?

, несмотря на абстрактный характер абстрактных классов, они действительно поддерживают наличие конструкторов.

использование и целей абстрактных конструкторов класса ]

Аннотация конструктора класса служит различным целям:

  1. абстрактные конструкторы обеспечивают соблюдение ограничений, гарантируя, что подклассы придерживаются определенных правил или предоставляют минимальные поля, необходимые для инициализации объекта. Подклассы наследуют и используют.
  2. перегрузка: абстрактные конструкторы облегчают перегрузку конструктора, позволяя подклассам определять конкретные конструкторы, адаптированные к их требованиям, в то время как все еще пользуются общими полями, предоставленными конструктором абстрактного класса.
  3. пример
рассмотрим следующий код фрагмент:

Abstract Class Product { int multiply; публичный продукт (int multiplyby) { this.multiplyby = multiplyby; } public int mitiply (int val) { вернуть умножению * val; } } класс Timeswo расширяет продукт { public timestwo () { Супер (2); } } Время класса, как расширяет продукт { Общественные времена (int what) { Супер (что); } }. The SubClass Timeswo и Times Whats Whats Reblieing этого конструктора для предоставления индивидуальной инициализации.

примечание:

abstract class Product { 
    int multiplyBy;
    public Product( int multiplyBy ) {
        this.multiplyBy = multiplyBy;
    }

    public int mutiply(int val) {
       return multiplyBy * val;
    }
}

class TimesTwo extends Product {
    public TimesTwo() {
        super(2);
    }
}

class TimesWhat extends Product {
    public TimesWhat(int what) {
        super(what);
    }
}
Очень важно отметить, что абстрактные классы не обладают конструкторами по умолчанию. вызвать родительский конструктор с помощью Super.

]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3