Интерфейси и абстрактни класове (в Java)

Често ми се случва да се чудя дали да ползвам абстрактен клас или интерфейс докато пиша на Java. И двете идват от леко остарелия ООП апарат на C++, в който наследяването се ползва предимно за две неща – предотвратяване на повторение на код и абстракция. Та, хрумна ми една проста схемичка как да определя кога какво да ползвам.

Continue reading

Uniform Access Principle

Днес прочетох за нещо, наречено Meyer’s Uniform Access Principle. Това е един много интересен прицип касаещ ООП езиците. Гласи горе-долу следното:

Атрибутите на един обект трябва да се достъпват чрез нотация, която не позволява да се различи дали те са имплементирани чрез запис или чрез изчисление.

Иначе казано, line.length не трябва да издава дали става въпрос за поле или метод, изчисляващ разстоянието между двата края. Това е много хубава идея, понеже промотира любимите ми думички – абстракция и енкапсулация. Та, замислих се доколко това важи в езиците, които ползвам.

Continue reading

Чък Норис (предимно)

Днес попаднах на два толкова интересни линка, че направо ще блогна за тях. Първият съчетава две иначе несмесваеми вещества – Чък Норис и Java. Забавно е наистина да знаеш, че той прави множествено наследяване. Другия пък е много изненадващ и изглежда като някаква невъзможна пропаганда, някакъв долен колаж, измамно творение на подлец и мерзавец, жадуващ да очерни името Чъково. Няма да коментирам – вижте сами.

Java, MIT 6.170

Наскоро си припомних материала, който Мило водеше на курса „Разработване на приложения с Java“. Това е доста лошо име за този курс, тъй като обекта му е съвсем различен. В оригинала си е нещо от рода на „лаборатория по разработване на софтуер“. От него може да научите доста интересни хавици. Като цяло фокуса му е ООП, но се говори за по-концептуални неща като абстракция, предствяне, „договор“ (contract), интерфейси и редица „теоритични“ неща, които на мен поне ми бяха от ползва в практиката. Базирано е на една хавица от MIT, в която университетските мозъци са наляли много мъдрост. Всичко е много добре написано и се разбира идеално. Горещо ви препоръчвам да му хвърлите един стабилен поглед, дори да се чувствате най-опитните в тази вода. Най-готината селекция от лекции е от есента на 2004-та – от нея научих доста за „концептуалните“ неща и смятам че си струва да им отделите времето. И понеже линк трудно се намира, ето ви го.