Запитання з тегом «object-oriented»

Методологія, яка дозволяє моделювати систему як сукупність об'єктів, якими можна модульно керувати та керувати ними

2
Яка різниця між необов'язковими та типовими Nullable
Свіфт має Optionals. C # має Nullableтипи. Наскільки я можу сказати, обидва служать одній і тій же цілі, окрім значення якогось типу, вони зберігають інформацію про те, чи має змінна значення чи неозначена (неініціалізована). Питання - це Optionalsлише Nullableтипи з різною назвою чи є інші концептуальні відмінності? Іншими словами, якщо …


4
Як поводитися з методами, які були додані для підтипів у контексті поліморфізму?
Використовуючи поняття поліморфізму, ви створюєте ієрархію класів і використовуючи посилання батьків, ви викликаєте функції інтерфейсу, не знаючи, який саме тип має об'єкт. Це чудово. Приклад: У вас є колекція тварин, і ви закликаєте всіх функцій тварин, eatі вам не байдуже, їсть це собака чи кішка. Але в тій же ієрархії …

3
Чи може законно мати клас RxJava Flowable законно 460 методів?
Я тільки починаю роботу з RxJava , реалізацією Java ReactiveX (також відомим як Rx і Reactive Extensions ). Те , що дійсно вразило мене масовий розмір RxJava в текучий класі : він має 460 методи! Справедливості: Існує маса перевантажених методів, що значно зменшує загальну кількість методів. Можливо, цей клас слід …

7
Primitive vs Class представляє простий об’єкт домену?
Які загальні вказівки чи правила, коли використовувати об’єкт домен-speciifc порівняно із звичайним рядком чи номером? Приклади: Віковий клас проти цілого? Клас FirstName vs String? UniqueID - String Клас PhoneNumber vs String vs Long? Клас DomainName проти String? Я думаю, що більшість практикуючих OOP напевно скажуть конкретні класи для PhoneNumber та …

3
Коли добре використовувати паралельні масиви?
Я зіткнувся з кодом (новим кодом), який використовує те, що я називаю "Паралельні масиви" або "Списки". Значить, є 2 масиви, які містять пов’язані дані та пов'язані їх позицією (індексом) у масиві. Я вважаю це заплутаним і схильним до різного роду помилок. Я зазвичай пропоную рішення створити об'єкт, який називається Companyполями …

5
Стиль кодування OOP: ініціалізувати все на конструкторі?
Я все ще вважаю себе програмістом-підмайстром, тому завжди прагну вивчити «кращий» спосіб типового програмування. Сьогодні мій колега стверджував, що мій стиль кодування робить непотрібну роботу, і я хочу почути думку інших. Як правило, коли я проектую клас на мові OOP (зазвичай це C ++ або Python), я б розділив ініціалізацію …

4
Наскільки специфічним повинен бути шаблон єдиної відповідальності для занять?
Наприклад, припустимо, що у вас є консольна ігрова програма, яка має всі види методів введення / виводу на консоль і з них. Чи буде це бути розумним , щоб тримати їх все в одному inputOutputкласі або розбити їх на більш конкретних класи , як startMenuIO, inGameIO, playerIO, gameBoardIOі т.д. , …

10
Чи можуть об'єкти, побудовані з одного класу, мати унікальні визначення методів?
Я знаю, що це здається дивним питанням, оскільки суть двох або більше об'єктів, що діляться в одному класі, полягає в тому, що їх поведінка однакова, тобто їхні методи однакові. Однак мені цікаво, чи існують мови OOP, які дозволяють вам переосмислити методи об’єктів так само, як ви можете призначити різні значення …

3
Коли я створюю об'єкт, свіжа пам'ять виділяється і на поля екземпляра, і на методи, або лише на поля екземпляра
У мене такий клас class Student{ int rollNumber; int marks; public void setResult(int rollNumber, int marks){ this.rollNumber=rollNumber; this.marks=marks; } public void displayResult(){ System.out.println("Roll Number= "+this.rollNumber+" Marks= "+this.marks); } } Тепер я створюю два об'єкти типу Student наступним чином Student s1=new Student(); Student s2=new Student(); Тепер для різних примірників виділено два …

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

3
Як дотримуватися принципу відкритого закриття на практиці
Я розумію наміри принципу відкритого закритого типу. Це покликане зменшити ризик зламати щось, що вже працює, змінюючи його, сказавши вам спробувати продовжити, не змінюючи. Однак у мене виникли проблеми з розумінням того, як цей принцип застосовується на практиці. Наскільки я розумію, це два способи застосувати. Beofore та після можливої ​​зміни: …

4
Чи можна вільно з'єднати додаток із його рамками?
Скажімо, я розробляю веб-додаток. Мій перший вибір - використовувати PHP з Fat-Free Framework (F3) та MVC. У наступному році я можу вирішити, що хочу перейти на Zend Framework або, можливо, навіть ASP.NET MVC. Чи має сенс спробувати і розробити мою програму таким чином, щоб вона була слабко пов'язана з її …

3
Загальна думка для запитань інтерв'ю "Як ви створили цей веб-сайт / додаток" [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я зібрав купу запитань щодо інтерв'ю на кшталт "Опишіть, як би ви створили додаток …

7
Чи повинен мій код бути сухим чи читаним, якщо він не може бути обом?
Я пишу Ruby-код для простого вправи з шифруванням і часто стикаюся з цією дилемою (якщо ви повинні знати, це вправа - пасьянс-шифр). Це питання, чи варто підкреслювати свою логіку описовими змінними та одномоментними операторами, які роблять функцію читабельною замість стислого, навіть щільного твердження, що виключає повторення та / або мінімізує …

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