Рубрика «ооп» - 46

CoffeeScript: Classes

В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос.

Содержание:

1. Основные понятия
2. Члены класса
   2.1. Метод constructor
   2.2. Открытые члены класса
   2.3. Закрытые члены класса
   2.4. Защищенные члены класса
   2.5. Статические члены класса
3. Наследование
4. Дополнительная литература

Читать полностью »

CoffeeScript Object methods

В 5-й редакции ECMAScript для работы с объектами появилось много новых методов, однако их подробное описание и внутреннюю реализацию на русском языке (зачастую и на английском) найти не так просто. Именно по этой причине в этой статье будут подробно рассмотрены и описаны все методы объекта Object согласно 3-й и 5-й редакции ECMAScript спецификации.

Содержание

1. Object.create(proto [, properties ])
2. Object.defineProperty(object, property, descriptor)
3. Object.defineProperties(object, properties)
4. Object.getOwnPropertyDescriptor(object, properties)
5. Object.keys(object)
6. Object.getOwnPropertyNames(object)
7. Data descriptor
8. Accessor descriptor
9. Object.getPrototypeOf(object)
10. Object.preventExtensions(object)
11. Object.isExtensible(object)
12. Object.seal(object)
13. Object.isSealed(object)
14. Object.freeze(object)
15. Object.deepFreeze(object) (non-standard)
16. Object.prototype.hasOwnProperty(property)
17. Object.prototype.isPrototypeOf(object)
18. Object.prototype.propertyIsEnumerable(object)
19. Заключение
Читать полностью »

Moose — расширения для Perl 5, позволяющее упростить реализацию ООП.

Создание класса происходит очень легко:

package MyClass;
use Moose;

все, пустой класс создан. Он может иметь произвольное количество: аттрибутов, методов, суперклассов, модификаторов метода, конструктор(1шт), деструктор(1шт) и мета-класс(1шт) который содержит все метаинформацию о данном классе.

Теперь подробнее об этих составляющих:
Читать полностью »

Краткое описание

На данный момент заканчиваю 2-й курс универститета, одной из лабораторных работ по курсу Java было написание чата. После того, как разобрался в теме сокетов, сериализации объектов и MVC, хотелось бы поделиться с читателим, тем более, что оно мне несказанно помогло при написании проекта.

Ну и, разумеется, учту все ошибки и недочеты, которые будут озвучены.
Читать полностью »

Предположим, вы написали программу, выводящую «Hello, World!», например:
  write "Hello, World!"

Приложение работает, всё хорошо.
Но проходит время, ваше приложение развивается, становится популярным и вот, вам нужно эту строку вывести уже на другом языке, причём количество и состав требуемых языков заранее неизвестен.
image

Под катом вы узнаете, как решается задача локализации в Caché.

Читать полностью »

Здравствуйте программисты начинающие, законченные, а также все сочувствующие. Как известно, ничто не познается так хорошо, как на собственном опыте. Главное, чтобы опыт был полезный. И в продолжении этой простой мысли я хочу предложить заняться несколькими полезными делами сразу:

  • Побеседовать на тему «ООП с человеческим лицом».
  • Разобраться с прототипами в javascript, коротко и сердито!
  • Вспомнить, что «замыкание» это не только ценный мех… удар током.
  • Написать на javascript класс Timer — этакий планировщик событий для запуска анимаций, событий, любых функций.
  • Весело провести время!

Предупреждение! Если вы не ждете от статьи ничего веселого… то ошибаетесь. Людям с пониженным чувством юмора читать… еще более рекомендуется! Ну-с, приступим…
Читать полностью »

Неожиданно оригинальный подход я увидел тут в описании одной вакансии.

Дабы не сочли рекламой — всю инфу о работодателе выпилил.

Но за описание вакансии средствами ООП — однозначный респект!

public class JediJob extends GameDevJob implements IRemoteJob {
...

Полный исходник не влез до ката.
Читать полностью »

(Перевод)

Последние несколько лет я провел в изучении и экспериментах со многими языками программирования. В частности, я начал использовать Scala как основной язык, стараюсь использовать функциональный стиль везде где это возможно. Меня также весьма заинтересовал Haskell (чистый функциональный язык) и Clojure (современный диалект Лиспа).

Таким образом, я постепенно отказываюсь от объектно-ориентированной парадигмы, несмотря на то, что использовал в основном её последние 17 лет моей профессиональной деятельности. У меня появляется чувство, что объекты это то, что мешает нам писать лапидарный, структурированный и повторно используемый код.
Читать полностью »

Работа с объектами СУБД Caché на примере Delphi
Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живет и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всем мире.
Как и с любыми СУБД Delphi прекрасно взаимодействует с СУБД Caché.

Из Delphi можно подключиться к Caché, используя следующие интерфейсы:

В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
Читать полностью »

Сегодня существуют разные мнения по поводу успешности объектной технологии. С одной стороны, большинство современных mainstream языков программирования являются объектно-ориентированными, с другой стороны, нередко можно услышать критику ООП, дескать, объектно-ориентированное программирование «провалилось» и не оправдало тех надежд, которые были возложены на нее индустрией разработки ПО. Все, мол, ожидали наступления вселенского счастья в виде увеличения повторного использования, упрощения сопровождения, да и вообще, обещали, что думать придется кому-то другому, а я за это буду деньги получать.

Причин у подобных разочарований тоже несколько. Во-первых, такое отношение к ООП может быть следствием завышенных ожиданий, а ведь Фред Брукс еще двадцать лет назад писал о том, что не стоит ждать «серебряных пуль», способных на порядок увеличить продуктивность труда программиста. Во-вторых, никто из серьезных сторонников ООП (типа Гради Буча или Бертрана Мейера) не обещали, что все будет просто. ООП – это не волшебная палочка, которая сделает из любого УГ конфетку, даже обертку которой можно будет использовать повторно.

Так вот вопрос: как же можно достичь той заветной мечты, когда системы можно будет строить из готовых компонентов, не написав при этом ни строчки кода? Я не уверен, что в таком виде эта мечта вообще осуществима из-за неотъемлемой сложности ПО, а также потому, что часто само решение влияет на решаемую задачу. Тем не менее, если направить энергию, затрачиваемую на повторное использование в правильное русло, то с разумным количеством трудозатрат можно поднять «реюз» кода на достойный уровень.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js