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

Об'єктно-орієнтоване програмування - це парадигма програмування, що використовує "об'єкти": структури даних, що складаються з полів даних та методів разом з їх взаємодіями.

27
Як я можу практикувати краще об'єктно-орієнтоване програмування? [зачинено]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …
84 oop 

11
Чому ми призначаємо батьківське посилання на дочірній об’єкт у Java?
Я задаю досить просте запитання, але я трохи розгублений у цьому. Припустимо, у мене є клас Parent: public class Parent { int name; } І мати ще один клас Child: public class Child extends Parent{ int salary; } І нарешті мій клас Main.java public class Main { public static void …

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 &a) …

15
Різниця між об’єктом та екземпляром
Я знаю, що таке запитання вже задавали раніше , але я все ще вважаю, що відповідь занадто неоднозначна для мене (і, розширення, деяких / більшості початківців), щоб зрозуміти. Я намагався навчити себе ширшим поняттям програмування, ніж процедурні та базові ООП. Я розумію конкретні концепції ООП (ви створюєте клас, який має …
83 oop 

6
Виклик реалізації протоколу за замовчуванням із звичайного методу
Цікаво, чи можливо досягти такого? У мене є такий дитячий майданчик: protocol Foo { func testPrint() } extension Foo { func testPrint() { print("Protocol extension call") } } struct Bar: Foo { func testPrint() { // Calling self or super go call default implementation self.testPrint() print("Call from struct") } } …
83 swift  oop  protocols  swift2 

6
Альтернативи об’єктно-орієнтованому програмуванню?
OOP - це, мабуть, найбільш часто використовувана парадигма програмування в сучасному дизайні програмного забезпечення. Моє запитання - яка ще парадигма (и) може конкурувати з нею і може стояти на місці ООП ? Щоб пояснити це питання, я не запитую про те, які ще парадигми існують. Їх багато, але я хотів …

4
Чому PHP Trait не може реалізувати інтерфейси?
Мені цікаво, чому PHP Trait (PHP 5.4) не може реалізувати інтерфейси. Оновлення з відповіді користувача1460043 => ... не може вимагати класу, який використовує його для реалізації певного інтерфейсу Я розумію, що це може бути очевидним, тому що люди можуть думати, що якщо a Class Aвикористовує a, Trait Tякий реалізує a …
83 php  oop  interface  traits 

8
Закриття в PHP ... що, власне, це і коли вам потрібно буде ними скористатися?
Тож я програмую в приємній, сучасній, об’єктно-орієнтованій манері. Я регулярно використовую різні аспекти ООП, які реалізує PHP, але мені цікаво, коли, можливо, мені доведеться використовувати закриття. Будь-які експерти, які можуть пролити світло на те, коли було б корисно здійснити закриття?
82 php  oop  closures 

3
ES6 - Виклик статичного методу в класі
У мене є цей клас, який робить внутрішній виклик статичного методу: export class GeneralHelper extends BaseHelper{ static is(env){ return config.get('env:name') === env; } static isProd(){ return GeneralHelper.is('prod'); } } Чи є якісь ключові слова, якими я можу замінити назву класу в рядку нижче: GeneralHelper.is('prod'); У PHP є selfі staticт. Д. …

7
Крапка з комою після фігурних дужок
Чому в класах С ++, чому крапка з комою після закриваючої дужки? Я регулярно забуваю про це і отримую помилки компілятора, а отже, і втрачений час. Мені здається дещо зайвим, що навряд чи буде так. Чи справді люди роблять такі речі: class MyClass { . . . } MyInstance; Я …
82 c++  class  oop  declaration 

11
Не допускати створення нових атрибутів за межами __init__
Я хочу мати можливість створити клас (на Python), який після ініціалізації за допомогою __init__не приймає нових атрибутів, але приймає модифікації існуючих атрибутів. Існує декілька хакерських способів зробити це, наприклад, маючи такий __setattr__метод, як def __setattr__(self, attribute, value): if not attribute in self.__dict__: print "Cannot set %s" % attribute else: self.__dict__[attribute] …

15
Чи погана практика мати кілька класів в одному файлі?
Раніше у мене був один клас для одного файлу. Наприклад car.cs має клас car . Але оскільки я програмую більше класів, я хотів би додати їх до одного файлу. Наприклад car.cs має клас автомобіля та клас дверей тощо. Моє запитання підходить для Java, C #, PHP або будь-якої іншої мови …


7
Приклади практичних об'єктно-орієнтованих шаблонів дизайну JavaScript
Які об’єктно-орієнтовані шаблони дизайну ви використовуєте в javascript вашої програми та чому? Не соромтеся надсилати поштовий індекс, навіть якщо до нього не додається офіційний шаблон дизайну. Я написав багато javascript, але я не застосовував багато об'єктно-орієнтованих шаблонів до того, що я роблю, і я впевнений, що мені багато чого не …

8
Хороші завдання / завдання / вправи для вивчення або вдосконалення навичок об’єктно-орієнтованого програмування (ООП) [закрито]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 7 років тому . Удосконалюйте це питання Що є гарним випробуванням для вдосконалення ваших навичок об’єктно-орієнтованого програмування? Ідея цього опитування полягає в …
81 oop 

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