oop- все статьи тега ➜ страница 6


Можно ли динамически создавать свойства экземпляра в PHP?

есть ли способ создать все свойства экземпляра динамически? Например, я хотел бы иметь возможность генерировать все атрибуты в конструкторе и по-прежнему иметь доступ к ним после создания экземпляра класса следующим образом: $object->property. Обратите внимание, что я хочу получить доступ к свойствам отдельно, а не через массив, вот пример того, что я не хочу: class Thing { public $properties; function __construct(array $props=array()) { $this->properties = $props; } } ...

Это плохая практика иметь несколько классов в одном файле?

раньше у меня был один класс для одного файла. Например автомобиля.cs присвоен класс автомобиль. Но поскольку я программирую больше классов, я хотел бы добавить их в тот же файл. Например автомобиля.cs присвоен класс автомобиль и двери класс и т. д. мой вопрос хорош для Java, C#, PHP или любого другого языка программирования. Я должен попробовать не иметь несколько классов в одном файле или это нормально? ...

Зачем использовать PHP ООП над основными функциями и когда?

есть некоторые сообщения по этому вопросу, но я не ясно понял, когда использовать объектно-ориентированное кодирование и когда использовать программные функции в include. Кто-то тоже говорил, что ООП очень тяжело работать, и делает больше нагрузки. Это правда? допустим, у меня есть большой файл с 50 функциями. Почему я хочу назвать их в классе? И не имя_функции()? Должен ли я переключиться и создать объект, который содержит все мои функции? В чем будет преимущество или конкретная разница? Какие ...

Почему я не могу создать абстрактный конструктор на абстрактном классе C#?

Я создаю абстрактный класс. Я хочу, чтобы каждый из моих производных классов был вынужден реализовать определенную подпись конструктора. Таким образом, я сделал то, что сделал бы, если бы хотел заставить их реализовать метод, я сделал абстрактный. public abstract class A { abstract A(int a, int b); } однако я получаю сообщение о том, что абстрактный модификатор недействителен в этом элементе. Моей целью было заставить такой код. public class B : A { public B(int a, int b) : base(a, b ...

Зачем использовать интерфейсы, множественное наследование vs интерфейсы, преимущества интерфейсов?

У меня еще есть некоторая путаница по этому поводу. То, что я нашел до сих пор (подобные вопросы уже задавались здесь, но у меня были некоторые другие моменты.) интерфейс-это набор только абстрактных методов и конечных полей. в Java нет множественного наследования. интерфейсы могут быть использованы для достижения множественного наследования в Java. одна сильная сторона наследования заключается в том, что мы можем использовать код базового класса в производном классе, не записывая е ...

Является ли вывод квадрата из прямоугольника нарушением принципа подстановки Лискова?

Я новичок в разработке и изучению принципов дизайна. Он говорит, что вывод квадрата из прямоугольника является классическим примером нарушения принципа подстановки Лискова. Если это так, то какой должна быть правильная конструкция? ...

Как я могу вызвать "базовую реализацию" переопределенного виртуального метода? [дубликат]

этот вопрос уже есть ответ здесь: Есть ли способ вызвать родительскую версию переопределенного метода? (C# .NET) 8 ответов учитывая следующий код, есть ли способ вызвать версию метода X класса A? class A { virtual void X() { Console.WriteLine("x"); } } class B : A { override void X() { Console.WriteLine("y"); } } class Program { static void Main() { A b = new B(); // Call A.X somehow, ...

Объектно-ориентированное программирование на C [дубликат]

Возможные Дубликаты:можете ли вы написать объектно-ориентированный код на C?объектно-ориентированный шаблон в C ? Я помню, как читал некоторое время назад о ком-то (я думаю, что это был Линус Торвальдс), говорящий о том, как C++ - ужасный язык и как вы можете писать объектно-ориентированные программы с C. После того, как у меня было время подумать, я действительно не вижу, как все объектно-ориентированные концепции переносятся в C. Некоторые вещи довольно очевидный. Например: эмулиров ...

angularjs с наследованием ООП в действии

Аннотация я работаю над приложением, которое использует angular в качестве фреймворка на стороне клиента, angular в настоящее время качается, и я действительно счастлив использовать его, Хотя теперь я считаю, что я использую для большого копирования и вставки кода, который я хотел бы организовать в иерархию классов. Например диалоги имеют общий набор функций, они должны быть открыты, закрыты, код, который предоставляет typeahead функциональность также является первым кандидатом на наследование ...

Различение между делегированием, композицией и агрегацией (Java OO Design)

Я сталкиваюсь с постоянной проблемой, отличающей делегирование, композицию и агрегацию друг от друга и определяющей случаи, когда лучше всего использовать один над другим. Я консультировался с Java Oo Analysis and Design book, но моя путаница все еще остается. Основное объяснение заключается в следующем: делегация: когда мой объект использует функции другого объекта как есть, не изменяя его. состав: мой объект состоит из других объектов, которые в свою очередь не могут существовать после того ...

В чем разница между конкретным классом и абстрактным классом?

Я изучаю C++, но я запутался в абстрактном классе и конкретном классе. Некоторые примеры реального мира были бы оценены. ...

Силу подклассы интерфейс для реализации метода toString

скажем, у меня есть интерфейс IFoo и я хочу, чтобы все подклассы IFoo для переопределения объекта ToString метод. Это возможно? простое добавление сигнатуры метода в IFoo как таковой не работает: interface IFoo { String ToString(); } так как все подклассы расширяются Object и обеспечить реализацию таким образом, чтобы компилятор не жаловался на это. Есть предложения? ...

В чем разница между функцией, несвязанным методом и связанным методом?

Я задаю этот вопрос из-за обсуждения темы комментариев этого ответа. Я на 90% пути, чтобы получить мою голову вокруг него. In [1]: class A(object): # class named 'A' ...: def f1(self): pass ...: In [2]: a = A() # an instance f1 существует в трех различных формах: In [3]: a.f1 # a bound method Out[3]: <bound method a.f1 of <__main__.A object at 0x039BE870>> In [4]: A.f1 # an unbound method Out[4]: <unbound method A.f1> In [5]: a.__dict__['f1'] # doesn't exist ...

Практический пример полиморфизма

может ли кто-нибудь дать мне реальную жизнь, практический пример полиморфизма? Мой профессор рассказывает мне ту же старую историю, которую я всегда слышал о + оператора. a+b = c и 2+2 = 4, Так что это полиморфизм. Я действительно не могу связать себя с таким определением, поскольку я читал и перечитывал это во многих книгах. что мне нужно, так это реальный пример с кодом, то, с чем я действительно могу ассоциироваться. например, вот небольшой пример, просто в случае, если вы хотите продлить ...

Понимание контейнеров IoC и инъекции зависимостей

Быстрая Перемотка Вперед: Я пишу это с намерением получить лучшее понимание инъекций зависимостей и контейнеров IoC, но также и для того, чтобы впоследствии я мог исправить ошибки в нем и использовать его, чтобы помочь научить нескольких моих друзей о них. на данный момент я попытался прочитать документацию для различных фреймворков(laravel, fuel, codeigniter, symfony), и я обнаружил, что существует слишком много различных аспектов фреймворки, которые мне нужны, чтобы чувствовать себя комфорт ...