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

Перевизначення методу в об'єктно-орієнтованому програмуванні - це мовна особливість, яка дозволяє підкласу або дочірньому класу забезпечити конкретну реалізацію методу, який вже надається одним із його надкласів або батьківських класів.

7
@Override не допускається при реалізації методу інтерфейсу
У мене проблема, згадана в назві. Можна сказати, що цей потік дублює інший: Як вимкнути перевірку помилок для анотацій в IntelliJ IDEA? Але наведене там рішення не працює. Кажуть, що мені потрібно вжити таких дій: У структурі проекту | Діалогове вікно проекту, змініть рівень мови проекту на 6.0 - @Override …


8
Як змусити похідний клас викликати супер метод? (Як і Android)
Мені було цікаво, при створенні нових Activityкласів , а потім перекриваючи onCreate()метод, в затемненні я завжди отримати авто додав: super.onCreate(). Як це відбувається? Чи існує в абстрактному або батьківському класі ключове слово Java, яке змушує це робити? Я не знаю, чи незаконно не викликати супер клас, але я пам’ятаю, що …

3
Перевизначення невіртуальних методів
Припустимо, цей сценарій у Visual C ++ 2010: #include <iostream> #include <conio.h> using namespace std; class Base { public: int b; void Display() { cout<<"Base: Non-virtual display."<<endl; }; virtual void vDisplay() { cout<<"Base: Virtual display."<<endl; }; }; class Derived : public Base { public: int d; void Display() { cout<<"Derived: …
84 c++  overriding 

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

7
Навіщо нам потрібне нове ключове слово і чому поведінка за замовчуванням приховується, а не замінюється?
Я переглядав цю публікацію в блозі і мав такі запитання: Навіщо нам newключове слово, це лише для того, щоб вказати, що метод базового класу приховується. Я маю на увазі, навіщо це нам потрібно? Якщо ми не використовуємо overrideключове слово, чи не приховуємо ми метод базового класу? Чому за замовчуванням у …
81 c#  overriding 


4
Різниця між віртуальною, заміною, новою та герметичною заміною
Я досить плутати між деякими поняттями об'єктно - орієнтованого програмування: virtual, override, newіsealed override . Хто-небудь може пояснити відмінності? Мені цілком ясно, що якщо потрібно використовувати метод похідного класу, можна використовувати overrideключове слово, щоб метод базового класу був замінений похідним класом. Але я не впевнений у new, і sealed override.


9
Перевизначення методу за допомогою селектора 'touchesBegan: withEvent:' має несумісний тип '(NSSet, UIEvent) -> ()'
Xcode 6.3. У класі, що реалізує протокол UITextFieldDelegate, я хотів би замінити метод touchesBegan (), щоб можливо приховати клавіатуру. Якщо я уникаю помилки компілятора у специфікації функції, тоді виникає помилка компілятора, намагаючись прочитати "дотик" із Set або NSSet, або super.touchesBegan (дотики, withEvent: event) видає помилку. Одна з цих комбінацій, скомпільована …
77 ios  swift  overriding 


3
Що означає @Override?
public class NaiveAlien extends Alien { @Override public void harvest(){} } Я намагався зрозуміти код мого друга, і я не отримую синтаксису @Override у коді. Що це робить і навіщо нам потрібно в кодуванні? Дякую.

9
Необов’язкові параметри C # для перевизначених методів
Схоже, у .NET Framework виникає проблема з необов’язковими параметрами, коли ви перевизначаєте метод. Вихідні дані коду нижче: "bbb" "aaa". Але результат, який я очікую: "bbb" "bbb". Чи є для цього рішення. Я знаю, що це можна вирішити за допомогою перевантаження методів, але цікаво, чому причина цього. Також код чудово працює …

3
Отримати замінені функції підкласу
Чи є спосіб отримати всі переосмислені функції підкласу в Python? Приклад: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass Тут я хотів би отримати список ["a2"]для об’єкта класу B(або для самого об’єкта класу), оскільки клас Bпереосмислює лише один метод, а саме a2.

2
Ініціалізація змінної Котліна для дочірнього класу поводиться дивно для ініціалізації змінної зі значенням 0
Я створив таку ієрархію класів: open class A { init { f() } open fun f() { println("In A f") } } class B : A() { var x: Int = 33 init { println("x: " + x) } override fun f() { x = 1 println("x in f: "+ …

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