Вопросы с тегом «inheritance»

322
Можно ли создавать абстрактные классы в Python?

Как я могу сделать класс или метод абстрактным в Python? Я пытался переопределить __new__() так: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract class %s" %cls) но теперь, если я создам класс G который наследует от Fтак: class G(F): pass тогда я не могу создать...

309
Включая еще один класс в SCSS

У меня есть это в моем файле SCSS: .class-a{ display: inline-block; //some other properties &:hover{ color: darken(#FFFFFF, 10%); } } .class-b{ //Inherite class-a here //some properties } В классе b я хотел бы унаследовать все свойства и вложенные объявления class-a. Как это сделать? Я пытался...

305
Уловки JSP, чтобы сделать шаблонирование легче?

На работе мне было поручено превратить кучу HTMLфайлов в простой JSPпроект. Это действительно все статично, нет серверной логики для программирования. Я должен отметить, что я совершенно новичок в Java. JSP-файлы, кажется, облегчают работу с общими включениями и переменными, во многом как PHP, но я...

294
Почему необходимо установить конструктор прототипа?

В разделе о наследовании в статье MDN Введение в объектно-ориентированный Javascript я заметил, что они установили prototype.constructor: // correct the constructor pointer because it points to Person Student.prototype.constructor = Student; Служит ли это какой-либо важной цели? Можно ли это...

286
Как определить пользовательский класс исключений в Java, самый простой способ?

Я пытаюсь определить свой собственный класс исключений самым простым способом, и вот что я получаю: public class MyException extends Exception {} public class Foo { public bar() throws MyException { throw new MyException("try again please"); } } Вот что говорит компилятор Java: cannot find symbol:...

271
Преимущества наследования прототипа перед классическим?

Так что все эти годы я, наконец, перестал тянуть ноги и решил «правильно» выучить JavaScript. Одним из самых головокружительных элементов дизайна языков является реализация наследования. Имея опыт работы с Ruby, я был очень рад видеть замыкания и динамическую типизацию; но за всю жизнь я не могу...

247
Явный вызов метода по умолчанию в Java

Java 8 представляет методы по умолчанию, чтобы обеспечить возможность расширения интерфейсов без необходимости изменять существующие реализации. Интересно, возможно ли явно вызвать реализацию метода по умолчанию, когда этот метод был переопределен или недоступен из-за противоречивых реализаций по...

246
Подклассы наследуют частные поля?

Это вопрос интервью. Подклассы наследуют частные поля? Я ответил «Нет», потому что мы не можем получить к ним доступ «обычным способом ООП». Но интервьюер считает, что они наследуются, потому что мы можем получить доступ к таким полям косвенно или с помощью отражения, и они все еще существуют в...

236
Как вы можете представить наследование в базе данных?

Я думаю о том, как представить сложную структуру в базе данных SQL Server. Рассмотрим приложение, в котором необходимо хранить сведения о семействе объектов, которые имеют одни и те же атрибуты, но имеют множество других, не являющихся общими. Например, коммерческий страховой пакет может включать...

227
Является ли ключевое слово override просто проверкой переопределенного виртуального метода?

Насколько я понимаю, введение overrideключевого слова в C ++ 11 является не чем иным, как проверкой, чтобы убедиться, что реализуемая функция overrideявляется virtualфункцией функции в базовом классе. Это...

227
Почему невозможно расширить аннотации в Java?

Я не понимаю, почему в аннотациях Java нет наследования, так же как и в классах Java. Я думаю, это было бы очень полезно. Например: я хочу знать, является ли данная аннотация валидатором. С наследованием я мог бы рефлексивно перемещаться по суперклассам, чтобы знать, расширяет ли эта аннотация a...

224
Почему я не могу наследовать статические классы?

У меня есть несколько классов, которые действительно не нуждаются в каком-либо состоянии. С организационной точки зрения я бы хотел поместить их в иерархию. Но, похоже, я не могу объявить наследование для статических классов. Что-то такое: public static class Base { } public static class Inherited...

218
Как «идеально» переопределить диктовку?

Как я могу сделать как можно более «совершенным» подклассом dict ? Конечная цель состоит в том, чтобы иметь простой диктант, в котором ключи строчные. Казалось бы, должен быть какой-то крошечный набор примитивов, которые я могу переопределить, чтобы сделать эту работу, но, судя по всем моим...

212
Множественное наследование в C #

Так как множественное наследование является плохим (это усложняет исходный код), C # не предоставляет такой шаблон напрямую. Но иногда было бы полезно иметь эту способность. Например, я могу реализовать отсутствующий шаблон множественного наследования, используя интерфейсы и три таких класса:...

208
наследование на основе прототипов и классов

В JavaScript каждый объект является одновременно экземпляром и классом. Для наследования вы можете использовать любой экземпляр объекта в качестве прототипа. В Python, C ++ и т. Д. Существуют классы и экземпляры как отдельные понятия. Чтобы выполнить наследование, вы должны использовать базовый...

199
Почему я должен получить доступ к членам базового класса шаблона через указатель this?

Если бы приведенные ниже классы не были шаблонами, я мог бы просто иметь их xв derivedклассе. Тем не менее, с кодом ниже, я должен использовать this->x. Зачем? template <typename T> class base { protected: int x; }; template <typename T> class derived : public base<T> { public:...

199
Разница между новым и переопределить

Хотите знать, в чем разница между следующим: Случай 1: Базовый класс public void DoIt(); Случай 1: Унаследованный класс public new void DoIt(); Случай 2: Базовый класс public virtual void DoIt(); Случай 2: Унаследованный класс public override void DoIt(); Оба случая 1 и 2, по-видимому, имеют...