Уроки C# (C sharp) | #17 - Аксессоры get и set

Sdílet
Vložit
  • čas přidán 25. 05. 2016
  • В этом уроке мы выучим что такое свойства в языке C#, а также как работать с аксессорами get и set.
    ✔ Основной сайт: itproger.com/
    ✔ -------------
    Группа Вк - prog_life
    Группа FaceBook - goo.gl/XW0aaP
    Я в Google+ - goo.gl/Tqt9W0
    Страничка Twitter - / goshadudar
    Страничка Вк - codi999
    ✔ Начните зарабатывать на CZcams - join.air.io/money_air
    ✔ Видео по заработку на CZcams - goo.gl/RLPXV8
    Помощь в развитии канала.
    * Яндекс Деньги: 410014343706921
    * Кошельки WebMoney:
    - Доллар: Z331064341236
    - Гривна: U386388718252
    - Рубль: R214610220703
  • Zábava

Komentáře • 168

  • @rmStreloke
    @rmStreloke Před 8 lety +8

    Огромное спасибо за уроки. Все просто и понятно. Продолжай)

  • @user-xd3we2qp4i
    @user-xd3we2qp4i Před 5 lety +8

    Начиная с C# 7.0 можно использовать такой способ записи:
    get => course;
    set => course = value;
    Ну, конечно, если с проверкой в акссесоре set, то такой способ "set => course = value;" - не прокатит, нужно будет создавать тело акссесора. Но все же это упрощает код в некоторых случаях =)

    • @xeither289
      @xeither289 Před rokem

      GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!

  • @alucksay6538
    @alucksay6538 Před 5 lety

    Спасибо 😊

  • @nailtagiyev6340
    @nailtagiyev6340 Před 4 lety

    Спасибо большое

  • @IvanPetrov-td6dk
    @IvanPetrov-td6dk Před rokem

    Огромное спасибо! Понял, что такое аксессоры и что такое автоматические свойства.

    • @xeither289
      @xeither289 Před rokem

      GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!

  • @user-sp8eb8wf2q
    @user-sp8eb8wf2q Před 8 lety +12

    Почему get and Set в непонятных строчках,я не понимаю,пересмотрел видео 3 раза,а Так спасибо за видеоурок.

  • @user-du8rw6tb6r
    @user-du8rw6tb6r Před 4 lety +1

    Я наконец-то разобрался что такое свойство. Всё ещё не понимаю, как мне его использовать кроме как защитить мои игры от хакеров, но потом разберусь. Большое спасибо

  • @user-gf2ki4fe6v
    @user-gf2ki4fe6v Před 6 lety +7

    13:48, Гоша, подключи зарядку!)

    • @guffe0208
      @guffe0208 Před 3 lety

      Видео длиться всего 13:40...

  • @AlexBradley123
    @AlexBradley123 Před 8 lety +1

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

  • @alexcara
    @alexcara Před 3 lety +1

    Благодарю за курс!
    Оставь больше времени для паузы в конце видео чтоб слушатели успевали лайкнуть перед тем как видео переключиться .

    • @xeither289
      @xeither289 Před rokem

      GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ

  • @Artur-rl6rb
    @Artur-rl6rb Před 7 lety

    Решила поискать дополнительную информацию в интернете и наткнулась на..... статью с точно таким же примером от 2013 года. И остальные статьи по темам такие же, и даже порядок тем почти такой же. Зачёт, чо.

    • @AndrewShmerchuk
      @AndrewShmerchuk Před 7 lety

      можно статью?

    • @Artur-rl6rb
      @Artur-rl6rb Před 7 lety

      mycsharp.ru/post/27/2013_07_12_svojstva_v_si-sharp_avtomaticheskie_svojstva_aksessory_get_i_set.html - можно просто гугленуть название этого урока. Следующий урок наследование, как и тут. И т.д. Только некоторых тем тут нету.
      На самом деле плевать, я нашел эти уроки первыми и они мне помогают.
      Контент всюду копируют, но я просто удивился слегка.

  • @user-iy1yp4px4q
    @user-iy1yp4px4q Před 3 lety

    Как я понял они нужны для изменения и проверки данных входящих или исходящих. Удобно

  • @hikmat6957
    @hikmat6957 Před 3 lety

    спасибо большое

  • @gleb655
    @gleb655 Před 4 lety +5

    я не исполmзовал PrintAll(); я просто написал count++;
    Print();
    и все так же получилосm а с принт алл выдавал ошибку. можете объяснитm почему так?

    • @user-kn9xt7hf2b
      @user-kn9xt7hf2b Před 4 lety +1

      тоже заметил что за фигня потом увидел что он снизу своего кода написал метод с именем PrintAll() посмотри внимательней на код

  • @headheart
    @headheart Před 8 lety +7

    А как при
    public int A { get; set;}
    программа поймет в какое поле записать value?
    Например
    class w{
    private int a:
    private int b:
    public int c { get; set;}
    }
    w.c = 100;
    Куда уйдет значение?

    • @zzz3781
      @zzz3781 Před 8 lety +5

      уйдёт в с

    • @comrade1687
      @comrade1687 Před 4 lety

      В свойства тоже можно передавать значения, если ты не знал

  • @cousinavi44
    @cousinavi44 Před 7 lety +3

    Очень долго искал видео по аксесорах и не мог найти нормальное но твое суер!)

  • @treuglnik
    @treuglnik Před 6 lety

    Если я хочу из статичного метода Main передать значение в другой класс, мне тоже самое использовать?

  • @Fioletka_YT
    @Fioletka_YT Před 5 lety

    Так же оспариваю мнение по поводу первого урока на тему, что вы говорите не нужно изучать с++ перед C#. Я считаю что динамические структуры данных а именно их изучение и ооп на с++ даст полное понимание всего ооп в С#. В языке C# пользуются хорошим спросом списки деревья очереди и не зная как оно работает и что это не приведет не к чему хорошему.

  • @user-bo1ze7nq8d
    @user-bo1ze7nq8d Před 7 lety +15

    Есть один вопрос , вот мы передали на Course(big C) число от класса Main. Но там нигде не указано что это число будет присвоено на course(little c) .

    • @blacksoul.6788
      @blacksoul.6788 Před 7 lety +4

      Алиби Малик , вопрос уже неактуален. Но отвечу: это автоматическое свойство не требует отдельно переменной. И вообще компилятор видит Course и course как разные имена!!!

    • @novus_tv
      @novus_tv Před 6 lety

      Просто локальная переменная кот исп внутри метода

  • @user-go4qx1kh6t
    @user-go4qx1kh6t Před 5 lety

    Ахах стипуха и Олександр, респект)

  • @dmitriybredun1133
    @dmitriybredun1133 Před 7 lety

    считается ли нормальным порождать исключения в Set{ ... } при попытке присвоить "невалидное" значение ?

  • @Purpursarkans
    @Purpursarkans Před 5 lety +6

    сижу такой пишу на стипендию stipuxa, потом смотрю у него в видосике stipuha, в этот момент я понимаю что все программисты думают одинокого :D

    • @danielmcron
      @danielmcron Před 4 lety +1

      Открою страшную тайну...Он не умеет программировать на C# как таковой. Теорию знает лучше человек который хоть месяц поучит C#

  • @user-qd1fv5oj9m
    @user-qd1fv5oj9m Před 3 lety +2

    Для тех,кто не понял последнюю часть видео про {get;set;} и т.д
    да,автор допустил ошибку,или не досказал,но у некоторых создалось впечатление,что запись public int Course {get;set;} присвоит значение для private int course.это не так.по сути это отдельное поле,которое не используется в конструкторе,и которое мы создали сами,ввели в него значение в объекте Alex и вывели это значение на экран.для того,что бы Course присваивал значение для course необходимо использовать такую запись : public int Course{get=>course;set=>course=value;}. благодаря такой записи,мы указываем,что при считывании мы берем параметр из course,и при записи мы так же записываем параметр в cource.вроде всё доступно изложил.если в чем то ошибся-поправьте меня,кто более прошаренный)

    • @Merocekanim
      @Merocekanim Před 3 lety

      Спасибо.
      Не освсем понял, но как буду практиковатся - поэксперементирую с этим

    • @user-qd1fv5oj9m
      @user-qd1fv5oj9m Před 3 lety

      @@Merocekanim первая буква в одном заглавная,а в другом строчная. в коде шрифт играет роль. и С (большая) и с (малая) это абсолютно разные буквы.
      получается int c = 0 и int C = 1 это абсолютно разные переменные,которые имеют,в данном случае,разное значение.но могут иметь и одинаковое.

    • @ravenempty3562
      @ravenempty3562 Před rokem

      Спасибо за уточнение)

  • @user-sv6un6pj6j
    @user-sv6un6pj6j Před 4 lety +1

    При автоматических get,set значение поля course не изменилось
    было 2 так и осталось 2. А 6 в другом месте. Это как понять?

    • @nogigantosaurus3671
      @nogigantosaurus3671 Před 3 lety

      Вот и я тоже не понял. По сути мы создали новую переменную, которая никак не относится к курсу студента.

  • @user-pv4lw1yw4z
    @user-pv4lw1yw4z Před 7 lety +36

    Так и не понял какую смысловую нагрузку несут эти аксессоры, кроме как захламление синтаксиса. Почему бы просто не использовать привычные методы ? : /

    • @user-lw5my1gz9u
      @user-lw5my1gz9u Před 7 lety +9

      Аксессоры нужны либо что бы сделать проверку, либо для ограничения чтения или записи только в классе(или можно использовать другие модификаторы доступа)

    • @dmitriybredun1133
      @dmitriybredun1133 Před 7 lety +4

      раньше использовали методы getValue()/setValue()
      свойства добавили для того, что бы когда вы работаете c УЖЕ Разработанным сервисом, код выглядел лаконичней.
      В качестве примера:
      Не нужно писать object.GetValue(), достаточно object.Field.
      Такую форму записи удобно использовать при объединении нескольких проверок в if(obj.field1 == 5 || obj.field2 != 5)
      Раньше бы пришлось: if(obj.getField1() == 5 || obj.getField2() != 5)
      В дополнении советую почитать ClearCode, оно того стоит ;)

    • @flukalpes
      @flukalpes Před 6 lety +4

      Вот именно. Сейчас на 3 курсе изучаем шарпы, и у меня просто горит от этих get и set.

    • @user-hi1pd1xr7g
      @user-hi1pd1xr7g Před 6 lety

      Удобство, компактность, безопасность, функциональность.

    • @user-dc7td6vk7y
      @user-dc7td6vk7y Před 4 lety +2

      Это просто синтаксический сахар, в java допустим такого нет

  • @vitek8137
    @vitek8137 Před 5 lety

    Подскажите пожалуйста как сделать разных два рандомных генератора чисел .У меня у двух рандомных переменных получается одно и тоже значение

    • @Misha-fm2tu
      @Misha-fm2tu Před 3 lety

      ты узнал ответ, как это сделать?

  • @yaroslavpityk5430
    @yaroslavpityk5430 Před 6 lety

    А если у нас есть два поля (private int course, private int age). Куда будет записываться переменная "10" если мы напишем public int Course {get; set;} в course или age?

    • @xeither289
      @xeither289 Před rokem

      GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!

  • @FednovFilms
    @FednovFilms Před 5 lety

    Странно, меняю уровень защиты переменных в классе Student на private - ничего не меняется. Только если попытаться вывести на консоль значение переменной из Class Program пишет: "недоступен из-за его уровня защиты".

  • @Asmcavr
    @Asmcavr Před 4 lety +11

    запись типа :public int Age { get; set; } в данном случае бессмысленна так как меняет и читает значение Age,
    и не имеет никакого отношения к полю age.

    • @heidvaldr
      @heidvaldr Před 4 lety

      Я пару часов думал над этим же вопросом, пока не увидел ваш комментарий

  • @antonfoxy4816
    @antonfoxy4816 Před 5 lety

    Ты про заполнители слышал? За чем писать + Когда можно сделать так: ConsoleWriteLine(""blabla {0}", переменная)

  • @user-uf3wz4yr5r
    @user-uf3wz4yr5r Před 6 lety +3

    course, course, course :))

  • @dagstantech
    @dagstantech Před 2 lety

    а подскажите, в чем разница между публичным полем и записью с { get; set; } ?

    • @xeither289
      @xeither289 Před rokem

      GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ

  • @user-gh1qm1tt7q
    @user-gh1qm1tt7q Před 4 lety

    Попробовал get сделать public, а set - private. Так VS2017 ругается на такой код. Говорит, оба эти оператора должны иметь более защищённый доступ, чем сам Course.
    Т.е. если Course у нас public, то get/set оба должны быть private или protected.

  • @nargan1129
    @nargan1129 Před 6 lety +1

    почему, когда я пишу "set {", то мне пишет "исключение не обработано"? При этом ошибок пишет 0..

  • @user-so1bu9cw5g
    @user-so1bu9cw5g Před 3 lety

    Может удобнее просто модификатор доступа изменить на public?

  • @KiIIerJo
    @KiIIerJo Před 7 lety

    teach me, как можно выдрать значения из метода? Мне необходимо в get записать только то, что выдает Console.WriteLine();
    public void Probel()
    //подсчитать количество пробелов в строке;
    {
    str = x.ToString();
    string[] y = x.Split(' ');
    Console.WriteLine(y.Length-1);

    • @stoo56
      @stoo56 Před 7 lety

      Сделай метод не void а int, в конце не выводи на консоль, а запиши в переменную, к примеру int z = y.Length-1
      и в конце допиши строку return z;
      примерно вот так должно быть:
      public static int Probel(string str)
      //подсчитать количество пробелов в строке;
      {
      string[] y = str.Split(' ');
      int z = (y.Length - 1);
      return z;
      }
      а когда вызываешь метод: Console.WriteLine(Probel("one two three four five"));

  • @flukalpes
    @flukalpes Před 6 lety +6

    Ну и зачем тогда нужно приватное поле course в конце? Как вообще наше свойство Course узнает о том, что записывать или считывать нужно с поля course? Получается никак, и приватное поле course не нужно вовсе? То есть конструкция вида "public int Course { get; set;}" создает якобы приватное поле, и сразу вдобавок два метода доступа к нему? Это какой-то синтаксический мусор.

    • @Gaploman85
      @Gaploman85 Před 6 lety +2

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

    • @vahabovurfan3276
      @vahabovurfan3276 Před 6 lety

      Да вы правы автор запутался , конструкция вида "public int Course { get; set;}" создает сама поле но мы его не видем

  • @lip_ok
    @lip_ok Před 8 lety +5

    Я сделал что бы данные студента (Имя, класс, степуха) вводились с клавиатуры и если средний бал больше 6, то степуха есть, если ниже, то степухи нет.
    Спасибо за урок

    • @user-xd3we2qp4i
      @user-xd3we2qp4i Před 5 lety

      Тоже так делал)
      Я уже по разному делал, как только не пробовал - изгаляюсь как могу, чтобы прочувствовать все эти темы =)

  • @pavukwebdev5766
    @pavukwebdev5766 Před 4 lety

    А у меня из задания домашнего поля не private, a public. Тоже работает все, но я хотел бы узнать принципиальную разницу. Памяти меньше жрет private или как?

    • @ravenempty3562
      @ravenempty3562 Před rokem

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

  • @IvanPetrov-td6dk
    @IvanPetrov-td6dk Před rokem

    1:11 А почему во втором конструкторе обращение к полям ведётся через this, а в первом напрямую?

    • @ravenempty3562
      @ravenempty3562 Před rokem

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

  • @ictortv4851
    @ictortv4851 Před 7 lety

    как я понял что public к bool не обязательно писать

  • @akhmabay
    @akhmabay Před 3 lety

    Значит, получается, если использовать аксессоры, можно обычные поля не объявлять? То есть уже не нужна вообще вот эта строка "private int course;", ВМЕСТО нее пишем "public int Course {get; set;}"? Я имею в виду, не нужно же объявлять предварительно обычное поле, чтобы потом объявить аксессоры? В данном случае coure и Course никак не связаны же?

  • @oliver_kropp
    @oliver_kropp Před 2 lety

    я тоже переменную стипуха называл)

  • @ictortv4851
    @ictortv4851 Před 7 lety

    так как все ровно все будет работать

  • @h1n124
    @h1n124 Před 6 lety +16

    Прочитал стипуха, орнул минут на 10. Только кофе пролил пока орал...

  • @XmonterXd
    @XmonterXd Před 5 lety

    Я тож стипуха написал))))))

  • @BrawlStars-bu4ur
    @BrawlStars-bu4ur Před 4 lety

    у меня получилось так

  • @VitaliyZlobin
    @VitaliyZlobin Před 5 lety +1

    Каким образом компилятор понимает, что Course и course взаимосвязаны?

    • @andreyschannel2878
      @andreyschannel2878 Před 5 lety

      Они не взаимосвязанны. Вместо Course можно использовать любое другое имя.

  • @novus_tv
    @novus_tv Před 6 lety +2

    Зачем использовать для полей модификатор private, если они по умолчанию - private!?
    Можно просто записать :
    string name;
    int course;
    bool stepuha;

    • @Gaploman85
      @Gaploman85 Před 6 lety +5

      Для наглядности

    • @fireowl97
      @fireowl97 Před 5 lety

      @Andrew Krivalcevich Не совсем,он сам в прошлом(не помню каком) говорил об этом.То что по умолчанию стоит private.

  • @TheJonvish
    @TheJonvish Před 5 lety +1

    PrintAll() ; имя PrintAll не существует в текущем контексте.
    Почему в видео существует, а у меня не существует. И красным подчеркнуто. Типа ошибка

    • @js13
      @js13 Před 5 lety

      потому что, он создал такой метод у него там внутри- console.writeln();
      внимательнее видос надо смотреть

  • @Gaploman85
    @Gaploman85 Před 6 lety +5

    Никак не могу въехать какой смысл в такой записи?
    "public int Curse { get; set; }"

    • @user-xd3we2qp4i
      @user-xd3we2qp4i Před 5 lety

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

    • @user-dc7td6vk7y
      @user-dc7td6vk7y Před 4 lety

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

    • @maxumka548
      @maxumka548 Před 3 lety

      @@user-xd3we2qp4i в чем лучше? Как ты поигрался, скопировал, вставил?

    • @user-xd3we2qp4i
      @user-xd3we2qp4i Před 3 lety +1

      @@maxumka548 посмотрите на дату коммента...

    • @maxumka548
      @maxumka548 Před 3 lety

      @@user-xd3we2qp4i с c#9 свойства не трогали, так что снова вопрос чем лучше? И как ты поигрался?

  • @user-dh8sv9zm6t
    @user-dh8sv9zm6t Před 3 lety

    Я смотрю это в 8 лет и мне норм.

  • @heidvaldr
    @heidvaldr Před 4 lety

    Какой смысл в создании Course, если private course в итоге не будет использоваться, кроме как в первом конструкторе? По сути мы сделали то же самое, что если бы сразу сделали course публичным. Не понимаю, какую роль здесь играет автоматический аксессор...

  • @BrawlStars-bu4ur
    @BrawlStars-bu4ur Před 4 lety +1

    The results of 3 student of this year
    First student result
    Name: Yerzhan
    Course: 3
    Appraisal: 5,2
    The second student result
    Name: George
    Course: 1
    Appraisal: 3,1
    And the third student result
    Name: Alex
    Course: 2
    Appraisal: 5

  • @Graver24
    @Graver24 Před 5 lety +1

    Огромное спасибо за ролик! ни хрена не понял, но очень интересно! С 8:40 , "если бы мы все же написали public......" можно поподробнее, какие именно проверки нам нужно было бы постоянно проходить, которые мы не проходим с private?

  • @Qnoize
    @Qnoize Před 5 lety

    Name, course, stipuha - ахахахаха))))

  • @boridol8521
    @boridol8521 Před 4 lety +5

    Эта переменная запривачена:
    Get и Set: но не для нас

  • @user-ko5yb8hx6t
    @user-ko5yb8hx6t Před 3 lety

    Хм
    У меня короче беда такая
    PrintAll выдаёт ошибку проверял код строку за строкой, ладно это не беда я его просто вырезал и заместо принят Ал поставил
    Public Student (string name, int curs, и т. Д
    После ниже у вас
    This. Name=name
    А я сразу
    Console. WriteLine ("name:" + name) ;
    Далее уже класс маин класс{
    Публик статик void main(string
    Я хз че написал но работает как то))

  • @alexshemchuk7161
    @alexshemchuk7161 Před 8 lety +1

    Подскажите в чем ошибка?
    class Studenty{
    private string name;
    private bool stependia;
    private int age;
    private float MidleMark;
    private string course;
    public Studenty () {
    name = "Vasili";
    age = 19;
    MidleMark = 4.7f;
    course = "third";
    stependia = true;
    Print ();
    }
    public void Print() {
    Console.WriteLine ("Name: " + name);
    Console.WriteLine ("Age: " + age);
    Console.WriteLine ("Midle Mark: " + MidleMark);
    Console.WriteLine ("Course: " + course);
    Console.WriteLine ("He has got a grants: " + stependia);
    }
    public Studenty (string name, int age, float MidleMark, string course, bool stependia){
    this.name = name;
    this.age = age;
    this.MidleMark = MidleMark;
    this.course = course;
    this.stependia = stependia;
    Print ();
    }
    }
    }
    class MainClass
    {
    public static void Main (string[] args){
    Studenty first = new Studenty ();
    Console.WriteLine ();
    Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);
    Console.ReadKey();
    }
    }

    • @fastkill8856
      @fastkill8856 Před 8 lety +3

      перед "class MainClass" убери фигурную скобку

    • @alexshemchuk7161
      @alexshemchuk7161 Před 8 lety

      Ты дурак?!
      Зачем?!
      Он не распознает эти строки: "Studenty first = new Studenty ();
      Console.WriteLine ();
      Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);"

    • @fastkill8856
      @fastkill8856 Před 8 lety +4

      во первых дурак это ты, во вторых, у тебя фигурные скобки не правильно расставлены, убери 1 фигурную скобку перед "class MainClass" ну а если ты совсем тупой, вот твой отредактированный код, все работает... не за что...
      class Studenty
      {
      private string name;
      private bool stependia;
      private int age;
      private float MidleMark;
      private string course;
      public Studenty()
      {
      name = "Vasili";
      age = 19;
      MidleMark = 4.7f;
      course = "third";
      stependia = true;
      Print();
      }
      public void Print()
      {
      Console.WriteLine("Name: " + name);
      Console.WriteLine("Age: " + age);
      Console.WriteLine("Midle Mark: " + MidleMark);
      Console.WriteLine("Course: " + course);
      Console.WriteLine("He has got a grants: " + stependia);
      }
      public Studenty(string name, int age, float MidleMark, string course, bool stependia)
      {
      this.name = name;
      this.age = age;
      this.MidleMark = MidleMark;
      this.course = course;
      this.stependia = stependia;
      Print();
      }
      }
      class MainClass
      {
      public static void Main(string[] args)
      {
      Studenty first = new Studenty();
      Console.WriteLine();
      Studenty second = new Studenty("Dima", 18, 3.4f, "first", false);
      Console.ReadKey();
      }
      }
      }

    • @zzz3781
      @zzz3781 Před 8 lety +1

      using System;
      namespace test {
      class Studenty{
      private string name;
      private bool stependia;
      private int age;
      private float MidleMark;
      private string course;
      public Studenty () {
      name = "Vasili";
      age = 19;
      MidleMark = 4.7f;
      course = "third";
      stependia = true;
      Print ();
      }
      public void Print() {
      Console.WriteLine ("Name: " + name);
      Console.WriteLine ("Age: " + age);
      Console.WriteLine ("Midle Mark: " + MidleMark);
      Console.WriteLine ("Course: " + course);
      Console.WriteLine ("He has got a grants: " + stependia);
      }
      public Studenty (string name, int age, float MidleMark, string course, bool stependia){
      this.name = name;
      this.age = age;
      this.MidleMark = MidleMark;
      this.course = course;
      this.stependia = stependia;
      Print ();
      }
      }
      class MainClass
      {
      public static void Main (string[] args){
      Studenty first = new Studenty ();
      Console.WriteLine ();
      Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);
      Console.ReadKey();
      }
      }
      }
      Держи, всё работает, ты пару ненужных скобок написал)

    • @MsKarlason
      @MsKarlason Před 8 lety

      string name = "";
      при создании строк надо им что-то присвоить!

  • @artemartem1235
    @artemartem1235 Před 7 lety

    Зачем делать set или get с модификатором доступа privete, если можно вместо этого просто не писать ненужное?

    • @user-lw5my1gz9u
      @user-lw5my1gz9u Před 7 lety

      А как ты хочешь сделать ограничение только записи например только в классе?

    • @ponimayu7250
      @ponimayu7250 Před 6 lety

      Artem Artem Ну хз, наверное, чтобы не запутаться, а то присвоил случайно какое то значение, которое не надо было

  • @Zatrit
    @Zatrit Před 5 lety

    Я сделал всё как в уроке, не работает

  • @fallenintacion6084
    @fallenintacion6084 Před 3 lety +1

    Олександр

  • @erlanmundus6241
    @erlanmundus6241 Před 5 lety

    это инкапсуляция. стате, пивет из 2019го

  • @GangsterTheKidBi
    @GangsterTheKidBi Před 5 lety +1

    не мог по больше растянуть окно??

  • @user-th1vq8nn9u
    @user-th1vq8nn9u Před 6 lety

    *СТИПУХА!*

  • @xeither289
    @xeither289 Před rokem

    GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!

  • @novapc425
    @novapc425 Před 4 lety

    Олександр...

  • @stripleccc
    @stripleccc Před 8 lety

    можно же без set записать, просто if and else.

  • @MrTayral
    @MrTayral Před 7 lety

    Oleksandr, lol)

    • @l3royb3rg63
      @l3royb3rg63 Před 7 lety +2

      Вероятней всего он из Украины, в Украине просто это имя пишется "Олександр".

  • @MS-wh8ky
    @MS-wh8ky Před 6 lety

    class Student
    {
    public bool pass;
    public string name;
    public int age;
    public int course;
    public Student()
    {
    name = "Tom";
    age = 19;
    course = 4;
    pass = true;
    Print();
    }
    public Student(string name, int age, int course,bool pass)
    {
    this.name = name;
    this.age = age;
    this.course = course;
    this.pass = pass;
    Print();
    }
    public void Print()
    {
    Console.WriteLine("Name: " + name);
    Console.WriteLine("Age: " + age);
    Console.WriteLine("Course: " + course);
    Console.WriteLine("Pass: " + pass);
    }
    }
    class MainClass
    {
    public static void Main(string[] args)
    {
    Student X = new Student();
    Console.WriteLine();
    Student Z = new Student("Harry", 23, 3, false);
    Console.WriteLine();
    Student O = new Student("Nastya", 22, 4, true);
    Console.ReadKey();

  • @user-ko5yb8hx6t
    @user-ko5yb8hx6t Před 3 lety

    И при всем при этом первый класс студент говорит не используется. Жёлтые значки

  • @olgasafronova3464
    @olgasafronova3464 Před 3 lety

    Да уж, из-за проверки входных значений/свойств такой огород городить, как то это надуманно

  • @vladfurmanov5349
    @vladfurmanov5349 Před 5 lety

    Сделал дз, но почему то при компиляции у остальных студентов не меняется значение степендии. всегда folse, даже если стоит true

    • @oz669
      @oz669 Před 4 lety

      Поэтому нужно писать false, чтоб всегда все работало как надо.

  • @nazarka_now
    @nazarka_now Před 4 lety

    Георгий спасибо вам ООООООООООООООгромное благодаря вам я знаю C#! И теперь в своей юности могу создавать игры на Unity! Но есть одно но! Unity у меня не запускается у меня Windows 7 и я не могу его запустить! выходит ошибка api-ms-win... я делал все чтобы ее убрать переустанавливал раз 5, скачивал этот файл кидал его туда куда было сказано в видео(специальном) , но все без толку((((((((((((

  • @romaroman8204
    @romaroman8204 Před 5 lety +1

    Норм? :
    using System;
    namespace Class1
    {
    class Student
    {
    public static int count = 0;
    public string name;
    public int course;
    public bool scholarship;
    public Student ()
    {
    name = "Tom";
    course = 3;
    scholarship = true;
    count++;
    information();
    }
    public Student ( string name, int course, bool scholarship)
    {
    this.name = name;
    this.course = course;
    this.scholarship = scholarship;
    count++;
    information();
    }
    public void information ()
    {
    Console.WriteLine("Name: " + name);
    Console.WriteLine("Course: " + course);
    Console.WriteLine("Scholarship: " + scholarship);
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    Student Tom = new Student();
    Console.WriteLine();
    Student Ricardo = new Student("Ricardo", 5, false);
    Console.WriteLine();
    Student Roma = new Student("Roma", 1, false);
    Console.WriteLine();
    Console.WriteLine("Count of studens: " + Student.count);

    • @ReedyNFTGod
      @ReedyNFTGod Před 5 lety +1

      Ору, студент Рикардо

  • @sobakinm3820
    @sobakinm3820 Před 3 lety

    за эту фигню с класам и жывотними хочу сказать спасибо вам потому что на это говно я угробил два дня и оно не зароботало просто так потому что я роботал в вижуал студио и 2 урока еще на этом основавыеться

  • @Jariarh
    @Jariarh Před 6 lety +2

    Гоша, ты вообще не соблюдаешь правила написания кода в C#. Где _ у приватных полей класса? Почему скобка { идет на той же строке что и код? Почему переменная в методе начинается с большой буквы?

    • @hierayku873
      @hierayku873 Před 6 lety +4

      Кому как удобно, тот так и пишет. Правил написания никаких нету...

  • @user-cg8kv2cz7p
    @user-cg8kv2cz7p Před 3 lety

    Да, в Java по другому.. Но суть та же..
    public class Main {
    public static void main(String[] args) {
    Cat barsik = new Cat("Мурзик", 5, 4);
    System.out.println("Изначальное имя кота - " + barsik.getName());
    barsik.setName("Пушок");
    System.out.println("Новое имя кота - " + barsik.getName());
    }
    }

  • @user-lw5my1gz9u
    @user-lw5my1gz9u Před 7 lety

    Я не понимаю,почему у него 2 метода stedent, а ошибку не выдает.
    Вроде же нельзя делать 2 метода с одним и тем-же именем

    • @postrockmore1306
      @postrockmore1306 Před 7 lety +1

      Это не методы а конструкторы, один без параметров который вызывается по умолчанию, второй с параметрами. И вообще методы могут быть с одинаковым названием, но с разной сигнатурой и это нормально в C#

    • @user-bf8xo6tw8e
      @user-bf8xo6tw8e Před 7 lety +3

      Да, это нормально - вроде называется перегрузкой методов.

    • @user-lw5my1gz9u
      @user-lw5my1gz9u Před 7 lety +1

      Да-да, все) Разобрался, думал что это методы))

    • @user-lw5my1gz9u
      @user-lw5my1gz9u Před 7 lety

      А то что методы могут быть с одинаковыми названиями но разной сигнатурой называется перегрузкой)

  • @user-mn2po8ns2z
    @user-mn2po8ns2z Před 4 lety

    Чувак, у тебя 20 процентов зарядки...Поставь заряжаться!

  • @serhioramires3166
    @serhioramires3166 Před 4 lety +1

    1 процент информации и 99 процентов пиздежа... и приходится у таких учится.

  • @user-le4zi4fq6v
    @user-le4zi4fq6v Před 4 lety +1

    три поля-режет слух! А так уроки бомба! Лайк если из 2020 года!

  • @Fioletka_YT
    @Fioletka_YT Před 5 lety

    Очень много ошибок в преподавание C# А так же возмутило полное не знание английского и особенно это страшное произношение! This teacher is very bad!

    • @andreyschannel2878
      @andreyschannel2878 Před 5 lety

      Не согласен с вами. По моему достаточно хорошо. А английский язык тут вообще не при чём, видео не по изучею английского!

  • @muxammadsodiq6299
    @muxammadsodiq6299 Před 4 lety

    Ни понятно🤨😑