oop- все статьи тега ➜ страница 3
Когда следует использовать 'friend' в C++?
Я читал через C++ FAQ и было любопытно о friend декларации. Я лично никогда не использовал его, но я заинтересован в изучении языка. что является хорошим примером использования friend? читая FAQ немного дольше Мне нравится идея <<>> оператор перегрузки и добавления в качестве друга этих классов. Однако я не уверен, как это не нарушает инкапсуляцию. Когда эти исключения могут оставаться в рамках строгости, которая является ООП? ...
Использование alloc init вместо нового
изучая Objective-C и читая пример кода, я замечаю, что объекты обычно создаются с помощью этого метода: SomeObject *myObject = [[SomeObject alloc] init]; вместо: SomeObject *myObject = [SomeObject new]; есть причина для этого, как я читал, что они эквивалентны? ...
Когда я должен использовать структуру вместо класса?
MSDN говорит, что вы должны использовать структуры, когда вам нужны легкие объекты. Существуют ли другие сценарии, когда структура предпочтительнее класса? некоторые люди, возможно, забыли, что: структуры может есть методы. структуры не может быть унаследован. Я понимаю технические различия между структурами и классами, у меня просто нет хорошего ощущения , когда to используйте структуру. ...
Почему необходимо установить конструктор прототипа?
на раздел о наследовании в статье MDN введение в объектно-ориентированный Javascript, я заметил, что они создают прототип.конструктор: // correct the constructor pointer because it points to Person Student.prototype.constructor = Student; служит ли это какой-либо важной цели? Это нормально, чтобы опустить его? ...
Имеет ли JavaScript тип интерфейса (например, "интерфейс" Java)?
учусь Как сделать ООП с JavaScript. Имеет ли он концепцию интерфейса (например, Java interface)? Так что я мог бы создать слушателя... ...
Объяснение Python 'enter' и ' exit '
Я видел это в чьем-то коде. Что это значит? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s ...
Как создать статический класс В C++?
как создать статический класс В C++? Я должен быть в состоянии сделать что-то вроде: cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl; предполагая, что я создал BitParser класса. Что бы это BitParser определение класса выглядит? ...
Почему используются безымянные пространства имен и каковы их преимущества?
Я только что присоединился к новому программному проекту C++, и я пытаюсь понять дизайн. Проект часто использует безымянные пространства имен. Например, что-то подобное может произойти в файле определения класса: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... каковы конструктивные соображения, которые могут привести к использованию безымянного пространства имен? Каковы ...
Геттер и сеттер?
Я не разработчик PHP, поэтому мне интересно, если в PHP более популярно использовать явные геттеры / сеттеры, в чистом стиле ООП, с частными полями (так, как мне нравится): class MyClass { private $firstField; private $secondField; public function getFirstField() { return $this->firstField; } public function setFirstField($x) { $this->firstField = $x; } public function getSecondField() { return $this->secondField; } public fu ...
Структуры как объекты в Java
это полностью против Java-способа создания структур, подобных объектам? class SomeData1 { public int x; public int y; } Я вижу класс с аксессорами и мутаторами, которые больше похожи на Java. class SomeData2 { int getX(); void setX(int x); int getY(); void setY(int y); private int x; private int y; } класс из первого примера является нотационно удобным. // a function in a class public int f(SomeData1 d) { return (3 * d.x) / d.y; } это не так удобно. ...
Использование модификатора "final", когда это применимо в Java [закрыто]
в Java существует практика объявления каждой переменной (локальной или класса), параметр final, если они действительно есть. хотя это делает код намного более подробным, это помогает легко читать/схватывать код, а также предотвращает ошибки, поскольку намерение четко обозначено. Что вы думаете об этом и что вы следуете? ...
C++ эквивалент instanceof
каков предпочтительный метод для достижения эквивалента c++instanceof? ...
Как получить конструктор класса PHP для вызова родительского конструктора своего родителя
Мне нужно, чтобы конструктор класса в PHP вызвать его родителей родителей (бабушка и дедушка?) конструктор без вызова родительского конструктора. // main class that everything inherits class Grandpa { public function __construct() { } } class Papa extends Grandpa { public function __construct() { // call Grandpa's constructor parent::__construct(); } } class Kiddo extends Papa { public function __construct() { // THIS IS WHERE I NEED ...
Почему я должен предпочесть использовать список инициализации членов?
Я частично использую списки инициализации членов с моими конструкторами... но я уже давно забыл причины этого... вы используете списки инициализации членов в конструкторах? Если да, то почему? Если нет, то почему? ...
Каков принцип инверсии зависимостей и почему это важно?
Что такое принцип инверсии зависимостей и почему это важно? ...
Ты не должен наследовать от std:: vector
хорошо, это действительно трудно признаться, но у меня есть сильное искушение в данный момент, чтобы унаследовать от std::vector. мне нужно около 10 настраиваемых алгоритмов для вектора, и я хочу, чтобы они были непосредственно членами вектора. Но, естественно, я хочу также иметь остальную часть 'ы. Ну, моя первая идея, как законопослушного гражданина, состояла в том, чтобы иметь std::vector член MyVector класса. Но тогда мне пришлось бы вручную перепрофилировать весь интерфейс std::vector. То ...
Когда использовать статические и инстанцированные классы
PHP-мой первый язык программирования. Я не могу полностью обернуть голову, когда использовать статические классы против инстанцированных объектов. Я понимаю, что вы можете дублировать и клонировать объекты. Однако за все время использования php любой объект или функция всегда заканчивались как одно возвращаемое (массив, строка, int) значение или void. Я понимаю концепции в книгах, таких как класс персонажей видеоигр. дублировать объект автомобиля и сделать новый красный, что все делает смысле, ...
Разница между репозиторием и уровнем сервиса?
в шаблонах проектирования ООП, в чем разница между шаблоном репозитория и уровнем сервиса? Я работаю над ASP.NET MVC 3 приложение, и я пытаюсь понять эти шаблоны проектирования, но мой мозг просто не получает его...еще бы!! ...
Разница между наследованием и композицией
состав наследства и то же? Если я хочу реализовать шаблон композиции, как я могу это сделать в Java? ...
PHP метод цепочки?
Я использую PHP 5, и я слышал о новой функции в объектно-ориентированном подходе, называемой "цепочкой методов". Что это такое? Как мне это реализовать? ...