LINUX.ORG.RU

[junior]Java

 


0

0

Есть опыт программирования на С, без плюсов. ООП не трогал. Требуется в кротчайшие сроки(1-2 недели) освоить основы Java и ООП. Что посоветует комьюнити ?

Ответ на: комментарий от wfrr

Я оценил ваше чувство юмора. Повторюсь, не знаком с этой темой, но мне кажется то творение Брюса Эккеля, на которое вы намекали, довольно объемно.

loginoleg
() автор топика
Ответ на: комментарий от loginoleg

А волшебной книги и не будет.

Основы ооп лучше учить по какомунить скриптовому языку вроде смоллтолка или руби, где ооп ничем не ограничивается. Ничего такого сложного в ооп нет, там фактически несколько правил и куча геммороя:

Все объект (только в яве есть элементарные типы - названия их начинаются с маленкьой буквы - char, int - но это сишника мало волновать должно)

Там три кита - инкапсуляция, полиморфизм и еще какято хрень которую я вечно забываю (почитайте статейки , вики http://ru.wikipedia.org/wiki/%D0%9E%D0%9E%D0%9F ) поделайте на скриптовом языке примерчики.

И основная затея ооп - это модульность, а для этого объекты (классы) должны как можно меньше быть связанны друг с другом, это сложнее и мало кто об этом помнит когда пишет проект.

А через пару тройку дней, берите яву и методом научног отыка и запуском примеров из поставки ждк изучайте работу. Если что-то непонятно ищите, ибо все курсы типа - ява за полчаса - суть бред, и мусор.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

Да, ссылка не верная : http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE... , внимательно почитайте критику ООП это полезно, дабы не зацикливаться на этой парадигме.

Почему не стоит начинать изучение ООП c явы? ИМХО ява не полностью соответсствует сабжу, и лучше сразу знать в чем, и почему, нежели потом узнать от вендузятнегов что сишарп такой крутой - у него и ооп полностью и функциональщина и блекджек (но это не мешает сишарпу быть хуже явы).

wfrr ★★☆
()
Ответ на: комментарий от wfrr

Да, слышал что smalltalk очень хорош в плане ООП, есть где развернуться. Но у меня сейчас цель не полностью освоить ООП, а в кротчайшие сроки это сделать. За ссылки и остальные советы спасибо, как раз то, что надо. Еще хотелось бы услышать нск названий книг на эти темы.

loginoleg
() автор топика
Ответ на: комментарий от loginoleg

К сожалению все что я виде кроме упомянутой выше вызвали у меня стойкое чуйство что они учат технологиям а не языку. И я их благополучно выкинул. А размер практически у всех их одинаков.

Да, обрати внимание на "тонкости": нет неявного преобразования типов (хотя это трудно не заметить), нет конструктора копий (есть метод clone() но его поведение специфично - обычно он делает поверхностное копирование), и все объекты передаются по ссылкам (кроме атомарных типов которые и не объекты), вроде это все что может удивить после си.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

Мне еще посоветовали труд Эрика Гаммы "Приемы объектно-ориентированного проектирования. Паттерны проектирования." как хорошее начало в ООП. Стоит ли на нее обращать внимание?

loginoleg
() автор топика
Ответ на: комментарий от Rikz

>Java - всё передается по значению. http://javadude.com/articles/passbyvalue.htm

Ты все еще не устал? А я уже давно устал разжевывать и плюнул, зачем разжевывать дебилам то, что они должны были запомнить с первого раза, прочитав это в ABC? А потом еще удивляются, почему программы пишут индусы, а русские только вотку жрут да менеджерами по продажам мобил работают. Все по тому же, что запомнить элементарное не в состоянии, а туда же, лезут программы писать.

anonymous
()
Ответ на: комментарий от anonymous

Собственно этим сейчас и занимаюсь, только в рунете. Но считаю что для начала нужно прочесть более полный, законченный материал -- книгу.

loginoleg
() автор топика
Ответ на: комментарий от loginoleg

>Очень не понравилось, сильно уж разжевано.

Потому что они пишут учебники. Зато все, что разбросано в десятках книг и сотнях FAQ и статей в интернете и что будешь собирать по крупицам, у них последовательно в книгах излагается. Выбирай сам

Можешь даже начать с http://authors.phptr.com/larman/uml_ooad/index.html http://en.wikipedia.org/wiki/Object-oriented_design#External_links http://en.wikipedia.org/wiki/Object-oriented_programming#Further_reading

anonymous
()
Ответ на: комментарий от Rikz

Да, только копирование выполняется поверхностное, поэтому получается так:

public class Main {
public String val;
public static void main(String[] args) {
Main t = new Main();
t.val = "test";
func(t);
System.out.print(t.val);
}

private static void func(Main t) {
t.val += " is mod!";
}
}

debug:
test is mod!

wfrr ★★☆
()

Core Java by Cay S. Horstmann and Gary Cornell. Основы ООП - всё объект, остальное исходит из этого.

stave ★★★★★
()
Ответ на: комментарий от loginoleg

она для детей написана: я ее прочитал ровно за 3 дня до экзамена, с исполнением некоторых интересных примеров.

Pi ★★★★★
()

Всем спасибо за ответы. Начну с Эккеля.

loginoleg
() автор топика
Ответ на: комментарий от loginoleg

Одна из лучших книг по одной из лучших систем ООП: "The art of the metaobject protocol"

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.