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

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

3
Objective-C множественное наследование
У меня есть 2 класса, один из которых включает метод A, а другой - метод B. Итак, в новом классе мне нужно переопределить методы methodA и methodB. Итак, как мне добиться множественного наследования в объективе C? Я немного запутался в синтаксисе.

2
Оператор instanceof ведет себя по-разному для интерфейсов и классов.
Я хотел бы знать о следующем поведении instanceof оператора в Java. interface C {} class B {} public class A { public static void main(String args[]) { B obj = new B(); System.out.println(obj instanceof A); //Gives compiler error System.out.println(obj instanceof C); //Gives false as output } } Почему это так? …

16
Переопределение против сокрытия Java - запутано
Я не понимаю, чем отличается переопределение от скрытия в Java. Может ли кто-нибудь предоставить более подробную информацию о том, чем они отличаются? Я прочитал Учебное пособие по Java, но пример кода по-прежнему меня смутил. Чтобы быть более ясным, я хорошо понимаю переопределение. Моя проблема в том, что я не вижу, …

1
преобразование из производного * в базовое * существует, но недоступно
Почему следующий код вызывает эту ошибку, хотя c является структурой и по умолчанию имеет публичное наследование? struct c { protected: int i; public: c(int ii=0):i(ii){} virtual c *fun(); }; c* c::fun(){ cout<<"in c"; return &c(); } class d : c { public: d(){} d* fun() { i = 9; cout<<"in …
88 c++  inheritance 

7
Как вызвать свойство базового класса, если это свойство перезаписывается в производном классе?
Я меняю некоторые свои классы с широкого использования геттеров и сеттеров на более питоническое использование свойств. Но теперь я застрял, потому что некоторые из моих предыдущих методов получения или установки вызывали соответствующий метод базового класса, а затем выполняли что-то еще. Но как этого добиться с помощью свойств? Как вызвать метод …

6
Как смоделировать RESTful API с наследованием?
У меня есть иерархия объектов, которую мне нужно раскрыть через RESTful API, и я не уверен, как должны быть структурированы мои URL-адреса и что они должны возвращать. Я не смог найти лучших практик. Скажем, у меня есть собаки и кошки, унаследованные от животных. Мне нужны CRUD-операции собакам и кошкам; Я …

6
Наследование и рекурсия
Предположим, у нас есть следующие классы: class A { void recursive(int i) { System.out.println("A.recursive(" + i + ")"); if (i > 0) { recursive(i - 1); } } } class B extends A { void recursive(int i) { System.out.println("B.recursive(" + i + ")"); super.recursive(i + 1); } } Теперь давайте …

7
Сериализация XML и унаследованные типы
Следуя моему предыдущему вопросу, я работал над тем, чтобы моя объектная модель была сериализована в XML. Но теперь я столкнулся с проблемой (сюрприз quelle!). У меня проблема в том, что у меня есть коллекция абстрактного базового класса, которая заполняется конкретными производными типами. Я подумал, что было бы хорошо просто добавить …

7
Какая альтернатива наследованию статических методов?
Я понимаю, что наследование статических методов не поддерживается в C #. Я также прочитал ряд обсуждений (в том числе здесь), в которых разработчики заявляют о необходимости этой функциональности, на что обычно отвечают: «Если вам нужно статическое наследование членов, в вашем дизайне есть изъян». Хорошо, учитывая, что ООП не хочет, чтобы …
84 c#  .net  inheritance  static 

11
В чем смысл наследования в Python?
Предположим, у вас есть следующая ситуация #include <iostream> class Animal { public: virtual void speak() = 0; }; class Dog : public Animal { void speak() { std::cout << "woff!" <<std::endl; } }; class Cat : public Animal { void speak() { std::cout << "meow!" <<std::endl; } }; void makeSpeak(Animal …

3
Наследование javascript: вызвать суперконструктор или использовать цепочку прототипов?
Совсем недавно я прочитал об использовании вызовов JavaScript в MDC. https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call одну ссылку на пример, показанный ниже, я все еще не понимаю. Почему они используют наследование вот так Prod_dept.prototype = new Product(); это необходимо? Потому что есть вызов суперконструктора в Prod_dept() во всяком случае, вот так Product.call это просто необычное …



1
Почему размер класса в c ++ зависит от публичного / частного статуса членов данных?
Из того, что я знаю, размер класса в C ++ зависит от следующих факторов: Размер всех нестатических элементов данных. Порядок данных членов. Если заполнение байтов включено или нет. Размер его непосредственного базового класса. Существование виртуальных функций. Режим наследования (виртуальное наследование). Теперь я создал 2 класса, как показано ниже - class …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.