привет подскажи разве 1 метод не делает то что делают два других. но более компактнее 1) String name (String x) { name = x; return name; } ---------------------------------------- 2) void name1(String x) { name = x } 3) String name2() { return name }
Тип данных в параметрах метода, указывает на то, значение какого типа данных, метод может принять от объекта на хранение. Да, и еще важно понять, что поля - характеристики объекта, методы - средства работы с полями, а сам объект - immutable. ) В этом суть ООП. Прекрасный курс. Спасибо.
Подписался. Господи, после всяких "преподавателей" твои уроки это просто идеал преподавания! Вот так просто и своими словами объясняешь, я лишь повторяю в идее и все запоминается и понимается.
Прекрасное представление по всем темам.Разобрался сразу с теми вопросами,в котрых плавал(вызовы методов,void,return).Огромное спасибо,очень стоящий курс!
Почему я не знал этого канала 5 лет назад 👍 .... Спасибо большое, как ты объясняешь beckand с примером со стороны пользовательский ЭТО ВООБЩЕ БОМБА👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Первый раз понял что такое сеттеры и геттеры. До этого смотрел и читал разное, но на живых примерах - впервые изложено для понимания, а не для "так надо". СПАСИБО!
Так, в общем мне немного подсказали и таки получилось написать так, чтобы прога запрашивала и имя и возраст до тех пор, пока не будет адекватного ответа. Спасибо автору еще раз. Очень доходчиво излагаете!!! Если кому интересно, то код ниже: ------------------------------------------------- import java.util.Scanner; public class Set_Get { public static void main(String[] args) { String name; int age; Scanner scan = new Scanner(System.in); Identification person = new Identification(); while(!person.getIsNameCorrect()){ System.out.println("Введите Ваше имя: "); name = scan.nextLine(); person.setName(name); } while(!person.getIsAgeCorrect()){ System.out.println("Введите Ваш возраст: "); age = scan.nextInt(); person.setAge(age); } System.out.println("Вас зовут - " + person.getName() + ". Ваш возраст - " + person.getAge() + " лет. Вы можете войти!!!"); } } class Identification{ private String userName; private int userAge; private boolean isNameCorrect = false; private boolean isAgeCorrect = false; public void setName(String n){ if (n.isEmpty()){ System.out.println("Вы ввели пустое имя!!! Введите имя еще раз!!!"); } else{ userName = n; isNameCorrect = true;} } public String getName(){ return userName; } public Boolean getIsNameCorrect(){ return isNameCorrect; } public void setAge(int a){ if (a
крч, всем тем, кто уже пытался врубиться в джаву и не смог, но имеет сумбур знаний, вам на этот канал, очень хорошо мозги прочищает и расставляет всё по полочкам).
Все очень понятно и доступно. Спасибо за проделанную колоссальную работу по созданию обучающего курса) Я думаю, многим начинающим и не только разработчикам информация будет полезной
Очень круто обьяснил. В твоих уроках есть то чего нету в других. Обьянение того зачем это нужно и где этоприменяется. Сделай еще плиз курс пет проэкты. Что делать? Как делать? Зачем? Что на них ты должен научится? Что обычно делают в компаниях? Что пишут регулярно? А что не так часто? Что нужно знать чтобы понять как решить ту или иную проблему если ты работаешь как джава разработчик на андроид или на ентерпрайз. Будет реально полезно. И если будешь делать проэкты объясни почему именно он? Чем он нам поможет для работы и т.д. Спасибо тебе. Учить это твое. Продолжай в том же духе и монетизируй
Стараюсь конспектировать все твои уроки чтоб быстрее понять и запомнить. Про геттеры и сеттеры на ютубе пересмотрел около 10 видосов разных. Я так и не понял что это и зачем нужны. Тут я даже ничего не записывал, ибо это оказалось настолько простой и понятной вещью
Спасибо за видео! Всё-таки, для меня, когда человек объясняет и показывает на примере лучше доходит. А то уже и в HeadFirst прочитал и в раше прошел, и так и не дошло)
я не могла понять раньше эти сет и гет потому что не понимала зачем по сто раз эти имена создавать. а теперь я понимаю что есть еще юзеры - поэтому мы должны быть в состоянии поменять внутри своей программы имена полей, НО что бы программа продолжала работать у других людей. что бы мои внутрение редакции не попортили работу программы у третьих лиц. .... если я верно поняла)
В данной теме, по факту, про инкапсуляцию ни слова не сказано) Кроме того что упоминается прайват. Инкапсуляция - сокрытие элементов путем изменения\добавления модифакторов доступа. Это более обширная тема, чем прописывание сеттеров и геттеров. В остальном, спасибо за видео)
Тоже учусь по этим видосам все доступно. Мелочей правда мало, Нет всех подробностей. Лучше иметь под рукой какой нибудь учебник дополнительно.В общем респект, не зря тратишь время.
В названии видео есть слово "Инкапсуляция", но что это - так и не услышал. Только пару раз между делом в тексте прозвучало. Про сеттерны\геттерны тоже как-то расплывчито понятие в уроке, для меня, было. До этого 17 уроков всё ок.
на шестндцатой минуте: "в этом основная идея инкапсуляции. вы должны максимально ограничивать свои поля от других классов, то есть ваши поля были видны только в пределах класса." всё, то делалось в этом видео и есть инкапсуляция.
Спасибо за курс. Неплохо было бы дать определение "сеттера" и "геттера" и объяснить в каком они формате записываются, то есть почему пишется "setName", синтаксис. А то приходится догадываться интуитивно.
а что если в конструкторе при создании объекта указывать те же имя и возраст, получается проверку надо в конструкторе прописывать? это адекватный способ или как?) как проверять правильность введенных данных если по условию стоит установка данных через конструктор, или это бред?)
Большая благодарность за труды по обучению недоразвитых) Но, если перед записью ролика составить себе на бумажке план лекции, то изложение еще улучшится.
А вдруг это не совсем умный пользователь вместо имени мат напишет, это нам в сеттере целую партянки проверок нужно писать. Да и возрос же не может быть 0 или 200 лет. Дела... Лайк как всегда, за урок спасибо.
"пользователь" вообще не будет трогать код или что-то там смотреть. Код будете юзать только ты, либо другой программист. Автор использует слово "пользователь", чтобы было хоть немного понятно, зачем нужны геттеры и сеттеры, для тех, кто никогда с этим не сталкивался.
Бро, вместо ручного переименовывания переменных в intelliJ есть команда "Refactor" в контекстном меню кликая на переменную. С её помощю переименовывается переменная во всем коде
Еще удобно помечать synchronized setName и speak для избежания коллизий. А вот на счет максимально инкапсулировать не согласен. На последнем месте работы зомбодебилы инкапсулировали у класса Point поля x y. Их спрашиваешь зачем почему. Тык мык мычат чего то вот таких видосов насмотрелись
объясните, зачем нужен геттер, если в сеттере уже все возвращается? Не пойму до конца сути. Мне кажется все эти манипуляции можно провести в одном методе
сеттер = для присваивания переменной значения, только через метод, а не напрямую. этот метод не возвращает значение методу, а только присваивает значение переменной. геттер = для пользования этим значением в методе main. Если что, пусть поправят, я так это вижу.
В сеттере ничего не возвращается (это и немудрено, так как в качестве типа возвращаемого значения мы указываем пустоту, то бишь, void), он нужен лишь для присваивания какого-значения. А если нам нужно вытянуть значение из переменной класса, к примеру, для вывода в методе System.out.println(), мы должны использовать get-метод.
Второй момент-зачем задавать значение полей, если есть ограничения на их вид. Можно же параметры все через метод передавать? И в методе они уже проверяются и возвращаются статусы
Наиль, подскажите, пожалуйста, почему выводится не "вы ввели некорректный возраст", а 0 при вызове метода .getAge, то же самое с .getName, почему null, а не сообщение sout("вы ввели некорректное имя")?
Регистрируйтесь на курс "Продвинутая Java": ua-cam.com/video/rRe1vT0SDD8/v-deo.html
Практикуйтесь в написании Java кода: java-marathon.tilda.ws
привет подскажи разве 1 метод не делает то что делают два других. но более компактнее 1) String name (String x) {
name = x;
return name;
}
----------------------------------------
2) void name1(String x) {
name = x
}
3) String name2() {
return name
}
скажите пожалуйста где можно попрактиковаться по этим темам?
Только здесь получил ясное представление о геттерах и сеттерах. Огромное тебе спасибо, добрый человек, за твой труд!
+Alexandr Evstratenko Пожалуйста!
Тип данных в параметрах метода, указывает на то, значение какого типа данных, метод может принять от объекта на хранение. Да, и еще важно понять, что поля - характеристики объекта, методы - средства работы с полями, а сам объект - immutable. ) В этом суть ООП. Прекрасный курс. Спасибо.
Видео уже 2.5 года, но только у этого Человека я понимаю ВСЕ темы которые меня интересуют, спасибо за труды!
Видео уже 6 лет, и всё тоже что и у вас) Молодец парень, хорошие видео сделал, спасибо.
@@Serge_g900 жаль, что год уже видосы не выходят(
Уже 7 лет прошло, а лучше так никто и не объясняет, классика в общем)
@@Serge_g900 8
Не перестаю радоваться что нашел этот канал! Все замечательно, спасибо за уроки!
БРО, ТЫ ПРОСТО ЛУЧШИЙ
Я УЖЕ ДУМАЛ ЗАБРОСИТЬ ОБУЧЕНИЕ
можно добавить что например в IDEA при помощи нажатия alt + ins можно автоматические создавать геттеры и сеттеры
только не забудьте ввести переменные!
Спасибо большое! Ты нечто! А то другие показывают, как делать, терминами объясняют, зачем инкапсуляция нужна. А на деле нифига не ясно
Шикарная подача материалла! Браво!!! 10 из 10. Лучшего курса я пока еще не видел! Успехов тебе. И пожалуйста продолжай дальше записывать видео!🤝🤝🤝
Подписался. Господи, после всяких "преподавателей" твои уроки это просто идеал преподавания! Вот так просто и своими словами объясняешь, я лишь повторяю в идее и все запоминается и понимается.
Прекрасное представление по всем темам.Разобрался сразу с теми вопросами,в котрых плавал(вызовы методов,void,return).Огромное спасибо,очень стоящий курс!
2021 на дворе) что-то принципиально поменялось?) вроде все так же актуально) спасибо за уроки!!!
Почему я не знал этого канала 5 лет назад 👍 .... Спасибо большое, как ты объясняешь beckand с примером со стороны пользовательский ЭТО ВООБЩЕ БОМБА👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Первый раз понял что такое сеттеры и геттеры. До этого смотрел и читал разное, но на живых примерах - впервые изложено для понимания, а не для "так надо". СПАСИБО!
Как всегда почерпнул много того, что не замечал в других источниках! Спасибо!
Так, в общем мне немного подсказали и таки получилось написать так, чтобы прога запрашивала и имя и возраст до тех пор, пока не будет адекватного ответа. Спасибо автору еще раз. Очень доходчиво излагаете!!! Если кому интересно, то код ниже:
-------------------------------------------------
import java.util.Scanner;
public class Set_Get {
public static void main(String[] args) {
String name;
int age;
Scanner scan = new Scanner(System.in);
Identification person = new Identification();
while(!person.getIsNameCorrect()){
System.out.println("Введите Ваше имя: ");
name = scan.nextLine();
person.setName(name);
}
while(!person.getIsAgeCorrect()){
System.out.println("Введите Ваш возраст: ");
age = scan.nextInt();
person.setAge(age);
}
System.out.println("Вас зовут - " + person.getName() + ". Ваш возраст - " + person.getAge() + " лет. Вы можете войти!!!");
}
}
class Identification{
private String userName;
private int userAge;
private boolean isNameCorrect = false;
private boolean isAgeCorrect = false;
public void setName(String n){
if (n.isEmpty()){
System.out.println("Вы ввели пустое имя!!! Введите имя еще раз!!!");
}
else{
userName = n;
isNameCorrect = true;}
}
public String getName(){
return userName;
}
public Boolean getIsNameCorrect(){
return isNameCorrect;
}
public void setAge(int a){
if (a
Дописала к проверке на
Куплю ваши курсы, очень уж клаасно объясняете. Спасибо❤
крч, всем тем, кто уже пытался врубиться в джаву и не смог, но имеет сумбур знаний, вам на этот канал, очень хорошо мозги прочищает и расставляет всё по полочкам).
Все очень понятно и доступно. Спасибо за проделанную колоссальную работу по созданию обучающего курса) Я думаю, многим начинающим и не только разработчикам информация будет полезной
Спасибо огромное, прочитал книгу и пару статей, понял инкапсуляцию только благодаря вашему видео
Алишев, ты очень доходчиво рассказал!
Очень крутые уроки. Иногда захожу на другие сайты, чтобы расширить кругозор по той или иной теме, но "костяк" инфы усваиваю здесь. Спасибо!
Грамотно и лаконично все рассказал - пятерка в дневник)) Спасибо!!
Очень круто обьяснил. В твоих уроках есть то чего нету в других. Обьянение того зачем это нужно и где этоприменяется. Сделай еще плиз курс пет проэкты. Что делать? Как делать? Зачем? Что на них ты должен научится? Что обычно делают в компаниях? Что пишут регулярно? А что не так часто? Что нужно знать чтобы понять как решить ту или иную проблему если ты работаешь как джава разработчик на андроид или на ентерпрайз. Будет реально полезно. И если будешь делать проэкты объясни почему именно он? Чем он нам поможет для работы и т.д. Спасибо тебе. Учить это твое. Продолжай в том же духе и монетизируй
Страничка выглядит отлично,все очень хорошо,спасибо за анонс.Искал страничку для заработка и снова нашел,СПАСИБО
Классный пример! Всё стало понятно и очень логично! Спасибо!
Решил перейти на Java с JS. благодаря вам процесс дается гораздо проще)
Спасибо вам большое!
тоже с жс перешёл на джаву, неудобно , но прикольно
Стараюсь конспектировать все твои уроки чтоб быстрее понять и запомнить. Про геттеры и сеттеры на ютубе пересмотрел около 10 видосов разных. Я так и не понял что это и зачем нужны. Тут я даже ничего не записывал, ибо это оказалось настолько простой и понятной вещью
Нормально зашло! Везде вокруг, да около, а тут, как обычно, очень понятно!
Ну хоть что-то начало доходить про геттер и сеттер. Спасибо огромное
Благодарю от души. Ясно и чётко всё объясняешь а главное аналогии понятные.
С П А С И Б О !
Спасибо, очень много узнал по Вашим видео
Так классно объясняешь. Респект тебе!!!!!!!! Успехов!
Спасибо сначало не понимал зачем оно мне , а теперь понял !
Спасибо большое за подробные уроки. Еще большой плюс в том, что произношение английских слов чистое, привыкаешь называть все правильно)
Это да, но автор все время называет null как нУл, хотя правильно нАл.
@@АлександрЧ-у6к ноал, а не нал
Реально все четко. Спасибо. Буду дальше смотреть твои уроки
и чуть не забыл - конечно же лайк. Жаль что два за раз не могу поставить)
Очень круто подал информацию. Спасибо
Api это application programming interface пишу чтобы не путать начинающих, спасибо за видео
Спасибо! Очень просто и понятно!
Благодарю! Очень полезно!
Спасибо, по полочкам разложил!
Отличный урок) Благодарю!
Молодец мужик, очень клево все объясняешь.
Спасибо за видео! Всё-таки, для меня, когда человек объясняет и показывает на примере лучше доходит. А то уже и в HeadFirst прочитал и в раше прошел, и так и не дошло)
отличное обьяснение, все супер
Понятные и очень просто видео, спасибо большое! :)
Почему так мало лайков? Такое ощущение, будто человек записывал видео, когда их ещё не существовало.
Потрясающее объяснение 👍
я не могла понять раньше эти сет и гет потому что не понимала зачем по сто раз эти имена создавать. а теперь я понимаю что есть еще юзеры - поэтому мы должны быть в состоянии поменять внутри своей программы имена полей, НО что бы программа продолжала работать у других людей. что бы мои внутрение редакции не попортили работу программы у третьих лиц. .... если я верно поняла)
Отличный урок! Спасибо.
спасибо за доходчивое разъяснение
Спасибо большое! Отличные уроки!
Ты молодец всё очень подробно до мельчайших деталей обьесняешь
Просто лучший, очень полезно и классно, всем буду советовать канал и ваши книги
автор видео писал книги?
Спасибо, разобрался наконец)
Спасибо за объяснение
Супер уроки: кратко и понятно!
Очень хорошо объясняете, речь поставлена) Приятно слушать) Спасибо
Огромное спасибо! Просто и понятно.
В данной теме, по факту, про инкапсуляцию ни слова не сказано)
Кроме того что упоминается прайват.
Инкапсуляция - сокрытие элементов путем изменения\добавления модифакторов доступа. Это более обширная тема, чем прописывание сеттеров и геттеров.
В остальном, спасибо за видео)
согласен, ни о чем, если честно...
Наконец-то, что-то стоящее! А то на всех каналах картавые умные дядьки объясняют, что хер поймёшь?
Респект, чувак и уважуха тебе!!!
ну респект и уважуха понятно, но чувак ему зачем???
какая понятная джава) спасибо)
Спасибо за работу!
ммм... а я вот люблю задавать пустые имена, но возможностей все меньше и меньше. Спасибо за ваш курс!
Серьезно??? так все просто )) Спасибо огромное пожалуйста снимай ролики, ты распиаришься полюбому))
Почему не так:
public void setName(String name){
this.name = name;
// Основная идея инкапсуляции вы должны максимум ограничить свои поля от другиз классов
Вот ТЕПЕРЬ все стало понятно.
Добрый день! Cкажите пожалуйста где можно попрактиковаться по этим темам?
Сапсибо alishev и кстати мог бы сразу про Refactor рассказать походу или Shift + F6
Тоже учусь по этим видосам все доступно. Мелочей правда мало, Нет всех подробностей. Лучше иметь под рукой какой нибудь учебник дополнительно.В общем респект, не зря тратишь время.
+Дмитрий Дементьев Спасибо!
скажите пожалуйста чем отличается класс который мы создали в одном файле и класс на который мы выделяем отдельный файл
Спасибо! Все предельно понятно. Идеальная логика изложения. Молодец!
Спасибо вам :)
В шарпе идеально сделаны геттеры и сеттеры
В названии видео есть слово "Инкапсуляция", но что это - так и не услышал. Только пару раз между делом в тексте прозвучало.
Про сеттерны\геттерны тоже как-то расплывчито понятие в уроке, для меня, было. До этого 17 уроков всё ок.
на шестндцатой минуте:
"в этом основная идея инкапсуляции. вы должны максимально ограничивать свои поля от других классов, то есть ваши поля были видны только в пределах класса."
всё, то делалось в этом видео и есть инкапсуляция.
канал отличный
Наконец хоть кто-то по английски правильно говорит!
Шëл 2023 год, среды разработки не меняются, и языки программирования не меняются...
В 2024 все также )
Спасибо за курс. Неплохо было бы дать определение "сеттера" и "геттера" и объяснить в каком они формате записываются, то есть почему пишется "setName", синтаксис. А то приходится догадываться интуитивно.
set - назначить, get - получить, при минимальном знании английского это становится очевидно)
а что если в конструкторе при создании объекта указывать те же имя и возраст, получается проверку надо в конструкторе прописывать?
это адекватный способ или как?)
как проверять правильность введенных данных если по условию стоит установка данных через конструктор, или это бред?)
Большая благодарность за труды по обучению недоразвитых) Но, если перед записью ролика составить себе на бумажке план лекции, то изложение еще улучшится.
что означает 14:00 person1.speak(); ?
А вдруг это не совсем умный пользователь вместо имени мат напишет, это нам в сеттере целую партянки проверок нужно писать. Да и возрос же не может быть 0 или 200 лет. Дела... Лайк как всегда, за урок спасибо.
"пользователь" вообще не будет трогать код или что-то там смотреть. Код будете юзать только ты, либо другой программист. Автор использует слово "пользователь", чтобы было хоть немного понятно, зачем нужны геттеры и сеттеры, для тех, кто никогда с этим не сталкивался.
Бро, вместо ручного переименовывания переменных в intelliJ есть команда "Refactor" в контекстном меню кликая на переменную. С её помощю переименовывается переменная во всем коде
Ну норм совет в ролик шестилетней давности. Некропостер
Большущее спасибо! :) каша ушла )))
Чтобы не писать Сеттеры и Геттеры (в IntellijIdea), напишите get (или set) и IntellijIdea предложит вам варианты)
Надеюсь кому-то поможет
@@Денис-к9э4н еще проще через alt+insert и выбрать нужное
где это можно применить?
Еще удобно помечать synchronized setName и speak для избежания коллизий. А вот на счет максимально инкапсулировать не согласен. На последнем месте работы зомбодебилы инкапсулировали у класса Point поля x y. Их спрашиваешь зачем почему. Тык мык мычат чего то вот таких видосов насмотрелись
спасибо!
Наиль, скажи, в твоем курсе по ссылке есть стримы? Я просто только лямбда выражения нашел!
Добрый день , можете подсказать что у вас за тема в ИнтелиДжей ?
дефолт даркула
объясните, зачем нужен геттер, если в сеттере уже все возвращается?
Не пойму до конца сути. Мне кажется все эти манипуляции можно провести в одном методе
сеттер = для присваивания переменной значения, только через метод, а не напрямую. этот метод не возвращает значение методу, а только присваивает значение переменной.
геттер = для пользования этим значением в методе main.
Если что, пусть поправят, я так это вижу.
В сеттере ничего не возвращается (это и немудрено, так как в качестве типа возвращаемого значения мы указываем пустоту, то бишь, void), он нужен лишь для присваивания какого-значения. А если нам нужно вытянуть значение из переменной класса, к примеру, для вывода в методе System.out.println(), мы должны использовать get-метод.
Второй момент-зачем задавать значение полей, если есть ограничения на их вид. Можно же параметры все через метод передавать? И в методе они уже проверяются и возвращаются статусы
Вот это да вот это другое дело
отлично
в плейлисте канала видео в обратном порядке воспроизводится, как задать нужную последовательность?
Спасибо!
Наиль, подскажите, пожалуйста, почему выводится не "вы ввели некорректный возраст", а 0 при вызове метода .getAge, то же самое с .getName, почему null, а не сообщение sout("вы ввели некорректное имя")?
выводится. самой первой строчкой.
а потом отрабатывают методы гетнейм и гетеэдж. там уже выводится значение переменных на данный момент.
например ваш пользователь не совсем умный человек (с)
ахахах
будто все пользователи умные :D
будто все программисты умные :D
почему геттер сеттер методы не нельзя объединить?
public int setgetWeight(int x)
{
weight=x;
return weight;
}
Неплохо было бы оставлять задачи на закрепление под видео
в платном курсе всё есть.
a почему, когда вы писали set и get, то начинали писать "public"? этот метод же и так работает