|
Название: Особенности C#. Поля и свойства класса Отправлено: Chiffa от 16 Август, 2009, 02:29:00 Попробую внести свою лепту в развитие раздела по шарпу. Начну с рассказа о некоторых особенностях и возможностях языка, которые выгодно (?) отличают его от других. Об этом конечно можно прочитать в учебниках, но опыт показывает что лучше бы знать о их существовании заранее.
За одно уважу товарищей, желавших подискутировать на тему возможностей и плюшек языка. Итак, свойства (properties) класса. Обычно для доступа к приватным полям используются методы - геттеры и сеттеры. В синтаксисе С# есть удобная обертка, позволяющая работать с установкой и получением значений для приватных переменных, как если бы они были открытыми. При этом принцип сокрытия данных не рушиться, вся необходимая валидация имеет место быть. Выглядит это так: C# public class UserScoreData { //приватные поля int _uid ; int _score; string _username; // соответствующие им паблик-свойства public int Uid { get { return _uid; } set{ //все необходимые проверки... _uid = value; } } public int GameScore { get { return _score; } set{ _score = value;} } public string UserName { get { return _username; } set {_username = value;} } } C# UserScoreData currentUser = new UserScoreData (); currentUser.UserName = "Вася"; int currentScore = currentUser.GameScore; А насколько она крута и достойна подражания, можно спорить, а можно и не спорить)) Кстати, есть ли нечто подобное в других языках программирования? Насколько я знаю нету. Но мало ли:) Название: Особенности C#. Поля и свойства класса Отправлено: Timur от 13 Июль, 2009, 03:18:49 Кстати, есть ли нечто подобное в других языках программирования? Насколько я знаю нету. Но мало ли:) В дельфях есть Спустя 1 минуту 28 секунд добавил а ещё в Ruby и ActionScriptНазвание: Особенности C#. Поля и свойства класса Отправлено: krasun от 22 Июль, 2009, 10:01:01 в С++ через прокси-классы можно сделать
Спустя 20 секунд добавил в php __set, __get Спустя 50 секунд добавил в Java должно бытьНазвание: Особенности C#. Поля и свойства класса Отправлено: phpdude от 22 Июль, 2009, 10:04:53 krasun, почитай получше про гет и сет))
они вызываются ТОЛЬКО КОГДА ПОЛЯ НЕ ПРИСУТСТВУЮТ О ОБЪЕКТА. в любом ином случае ОНИ НЕ ВЫЗЫВАЮТСЯ Название: Особенности C#. Поля и свойства класса Отправлено: krasun от 22 Июль, 2009, 10:08:03 phpdude, ты про php?
Спустя 37 секунд добавил точно, я забыл уже совсем, кошмар, вот что значит долго чем-то не пользоваться Название: Особенности C#. Поля и свойства класса Отправлено: phpdude от 22 Июль, 2009, 10:24:23 krasun, это я про пыхапы
Название: Особенности C#. Поля и свойства класса Отправлено: Timur от 23 Июль, 2009, 01:22:04 в Java должно бытьнет Название: Особенности C#. Поля и свойства класса Отправлено: krasun от 23 Июль, 2009, 01:23:37 Timur, оно что там вообще ни как не реализовано?
Название: Особенности C#. Поля и свойства класса Отправлено: CTAPbIu_MABP от 23 Июль, 2009, 01:27:46 там есть приватные свойства и публисные методы. Javascript public class MyClass{private String myString; public String getMyString(){ return myString; } public setMyString(String myString){ this.myString = myString; } } Спустя 26 секунд добавил такой класс называется BEANНазвание: Особенности C#. Поля и свойства класса Отправлено: krasun от 23 Июль, 2009, 01:32:17 а ну это знаю
Спустя 25 секунд добавил только тогда, наверное, приватные поляНазвание: Особенности C#. Поля и свойства класса Отправлено: CTAPbIu_MABP от 23 Июль, 2009, 01:37:03 почему поля? есть свойства и есть методы в яве больше ничего нет это в пхп всякие константы Название: Особенности C#. Поля и свойства класса Отправлено: phpdude от 23 Июль, 2009, 01:37:43 krasun, думаю правильнее поля. хотя это все зависит от того как ты переведеш слово field
Название: Особенности C#. Поля и свойства класса Отправлено: krasun от 23 Июль, 2009, 01:44:46 я книгу Шилдта по C#, когда-то читал, там просто говорилось поля про приватные свойства вот и вспомнил, а так по барабану
Название: Особенности C#. Поля и свойства класса Отправлено: CTAPbIu_MABP от 23 Июль, 2009, 01:57:04 phpdude, слово property ни о чем не говорит?
Название: Особенности C#. Поля и свойства класса Отправлено: krasun от 23 Июль, 2009, 02:06:29 Название: Особенности C#. Поля и свойства класса Отправлено: phpdude от 23 Июль, 2009, 02:08:20 вот нахуй об этом спорить? все все понимают. заебали. пошел спать чмоки ;) Название: Особенности C#. Поля и свойства класса Отправлено: CTAPbIu_MABP от 23 Июль, 2009, 10:47:53 krasun, уговорил
|