Вопросы с тегом «oop»

466
Java 8 Iterable.forEach () против цикла foreach

На этот вопрос есть ответы на Переполнение стека на русском : Цикл foreach против Iterable.foreach в Java 8: что лучше? Что из следующего является лучшей практикой в ​​Java 8? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession,...

448
Почему C # не позволяет статическим методам реализовывать интерфейс?

Почему C # был разработан таким образом? Насколько я понимаю, интерфейс только описывает поведение и служит для описания договорных обязательств для классов, реализующих интерфейс, в котором реализовано определенное поведение. Если классы хотят реализовать это поведение в общем методе, почему бы и...

444
Что делает ключевое слово static в классе?

Чтобы быть конкретным, я пытался этот код: package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } Но это дало ошибку Невозможно получить доступ к нестатическому полю в статическом методе main Поэтому я изменил декларацию clockна...

441
Каковы различия между структурой и классом в C ++?

Этот вопрос уже задавался в контексте C # /. Net . Теперь я хотел бы изучить различия между структурой и классом в C ++. Пожалуйста, обсудите технические различия, а также причины выбора того или иного в дизайне ОО. Начну с очевидной разницы: Если вы не укажете public:или private:, члены структуры...

432
Должны ли мы @Override реализации метода интерфейса?

Следует ли аннотировать метод, реализующий интерфейсный метод @Override? Javadoc в Overrideаннотации говорится: Указывает, что объявление метода предназначено для переопределения объявления метода в суперклассе. Если метод аннотирован этим типом аннотации, но не переопределяет метод суперкласса,...

427
Когда использовать интерфейс вместо абстрактного класса и наоборот?

Это может быть общий вопрос ООП. Я хотел сделать общее сравнение между интерфейсом и абстрактным классом на основе их использования. Когда нужно использовать интерфейс, а когда - абстрактный класс...

416
Как сохранить интерактивный сеанс Python?

Я часто использую интерпретатор Python для работы с базами данных, файлами и т. Д. - в основном, много ручного форматирования полуструктурированных данных. Я неправильно сохраняю и очищаю полезные фрагменты так часто, как хотелось бы. Есть ли способ сохранить мой ввод в оболочку (соединения БД,...

365
Объяснение 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):...

360
Почему порядок циклов влияет на производительность при итерации по двумерному массиву?

Ниже приведены две почти идентичные программы, за исключением того, что я переключил переменные iи j. Они оба бегут в разное количество времени. Может кто-нибудь объяснить, почему это происходит? Версия 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int...

354
Когда вы должны использовать «друг» в C ++?

Я читал часто задаваемые вопросы по C ++ и мне было интересно узнать об этом friendобъявлении. Лично я никогда не использовал это, однако я заинтересован в изучении языка. Что является хорошим примером использования friend? Немного дольше читая FAQ, мне нравится идея << >>перегрузки и...

347
Полиморфизм против переопределения против перегрузки

С точки зрения Java, когда кто-то спрашивает: что такое полиморфизм? Будет ли перегрузка или перегрузка приемлемым ответом? Я думаю, что это немного больше, чем это. Если у вас есть абстрактный базовый класс, который определил метод без реализации, и вы определили этот метод в подклассе, это все...

345
В .NET какой цикл выполняется быстрее, «для» или «foreach»?

В C # / VB.NET / .NET какой цикл работает быстрее forили foreach? С тех пор, как я прочитал, что forцикл работает быстрее, чем foreachцикл давным-давно, я предположил, что это верно для всех коллекций, универсальных коллекций, всех массивов и т. Д. Я просмотрел Google и нашел несколько статей, но...

344
Использование alloc init вместо new

Изучая Objective-C и читая пример кода, я замечаю, что объекты обычно создаются с помощью этого метода: SomeObject *myObject = [[SomeObject alloc] init]; вместо того: SomeObject *myObject = [SomeObject new]; Есть ли причина для этого, поскольку я прочитал, что они...

336
Как использовать основанный на диапазоне цикл for () с std :: map?

Типичный пример циклов for (), основанных на диапазоне C ++ 11, всегда выглядит примерно так: std::vector<int> numbers = { 1, 2, 3, 4, 5, 6, 7 }; for ( auto xyz : numbers ) { std::cout << xyz << std::endl; } В каком случае xyzэто int. Но что происходит, когда у нас есть что-то...