Запитання з тегом «inheritance»

Спадкування - це система в об'єктно-орієнтованому програмуванні, яка дозволяє об’єктам підтримувати операції, визначені передніми типами, не надаючи власного визначення. Це головний вектор поліморфізму в об'єктно-орієнтованому програмуванні.

15
C #: Заміщення типів повернення
Чи є спосіб замінити типи повернення в C #? Якщо так, то як, а якщо ні, чому і який рекомендований спосіб зробити це? Моя справа полягає в тому, що я маю інтерфейс з абстрактним базовим класом і нащадками цього. Я хотів би зробити це (добре не дуже, але як приклад!): …


13
Спадкування JavaScript [закрито]
Закрито . Це питання має бути більш сфокусованим . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно зосереджувалось на одній проблемі, лише відредагувавши цю публікацію . Закрито 2 роки тому . Удосконалюйте це питання Я намагаюся реалізувати успадкування у javascript. Я придумав наступний мінімальний код для …

1
Чому конструктор за замовчуванням викликається у віртуальному успадкуванні?
Я не розумію, чому в наступному коді, коли я інстанцирую об'єкт типу daughter, grandmother()викликається конструктор за замовчуванням ? Я думав, що або grandmother(int)конструктор слід викликати (щоб дотримуватися специфікації конструктора мого motherкласу), або цей код взагалі не повинен компілювати через віртуального успадкування. Тут компілятор мовчки викликає grandmotherконструктор за замовчуванням в мою …


6
Спадкування приватних та захищених методів у Python
Я знаю, що в Python немає `` справжніх '' приватних / захищених методів. Цей підхід не покликаний нічого приховувати; Я просто хочу зрозуміти, що робить Python. class Parent(object): def _protected(self): pass def __private(self): pass class Child(Parent): def foo(self): self._protected() # This works def bar(self): self.__private() # This doesn't work, I …

7
Коли слід вибирати успадкування над інтерфейсом при розробці бібліотек класу C #? [зачинено]
Закрито . Це питання ґрунтується на думках . Наразі відповіді не приймаються. Хочете покращити це питання?Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . Удосконалюйте це питання У мене є кілька Processorкласів, які виконуватимуть дві дуже різні речі, але …


5
Чи успадковуються віртуальні деструктори?
Якщо у мене є базовий клас з віртуальним деструктором. Чи має похідний клас для оголошення віртуального деструктора? class base { public: virtual ~base () {} }; class derived : base { public: virtual ~derived () {} // 1) ~derived () {} // 2) }; Конкретні питання: Чи однакові 1) та …

10
Розширений клас JavaScript
У мене базовий клас: function Monster() { this.health = 100; } Monster.prototype.growl = function() { console.log("Grr!"); } Що я хочу розширити і створити ще один клас за допомогою: function Monkey extends Monster() { this.bananaCount = 5; } Monkey.prototype.eatBanana { this.bananaCount--; this.health++; //Accessing variable from parent class monster this.growl(); //Accessing function …


6
Як динамічно змінювати базовий клас примірників під час виконання?
У цій статті є фрагмент, що показує використання __bases__для динамічної зміни ієрархії успадкування деякого коду Python, додаючи клас до існуючої колекції класів, з яких він успадковує. Добре, це важко прочитати, код, мабуть, зрозуміліший: class Friendly: def hello(self): print 'Hello' class Person: pass p = Person() Person.__bases__ = (Friendly,) p.hello() # …

9
Що є реальним прикладом загального <? супер T>?
Я розумію, що &lt;? super T&gt;представляє будь-який супер клас T(батьківський клас Tбудь-якого рівня). Але я справді намагаюся уявити будь-який приклад із реального життя для цього загального зв’язаного символу. Я розумію, що &lt;? super T&gt;означає, і я бачив цей метод: public class Collections { public static &lt;T&gt; void copy(List&lt;? super T&gt; …

1
MOQ - як знущатися над інтерфейсом, який потрібно передати на інший інтерфейс?
що я хочу зробити, це побудувати moq для I1 - це прекрасно ... однак під час тестуючого методу, який використовує цей макет, мені потрібно передати його в I2, щоб отримати доступ до деяких властивостей, які не I1 Interface I1 { int AProperty{get;set;}} Interface I2 {int AnotherProperty{get;set;}} У мене тоді є …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.