Сообщения с тегом ‘Close’
Классы с событиями
Написано admin в 20 Июнь 2008 – 21:41 -Классы с событиями
Каждый объект является экземпляром некоторого класса. Класс задает свойства и поведение своих экземпляров. Методы класса определяют поведение объектов, свойства – их состояние. Все объекты обладают одними и теми же методами и, следовательно, ведут себя одинаково. Можно полагать, что методы задают врожденное поведение объектов. Этого нельзя сказать о свойствах – значения свойств объектов различны, так что экземпляры одного класса находятся в разных состояниях. Объекты класса “человек” могут иметь разные свойства: один – высокий, другой – низкий, один – сильный, другой – умный. Но методы у них одни: есть и спать, ходить и бегать. Как сделать поведение объектов специфическим? Как добавить им поведение, характерное для данного объекта? Один из наиболее известных путей – это наследование. Можно создать класс-наследник, у которого, наряду с унаследованным родительским поведением, будут и собственные методы. Например, наследником класса “человек” может быть класс “человек_образованный”, обладающий методами: читать и писать, считать и программировать. Read more »
Tags: Changed, Click, Close, receiver, sender
Находится в Учебник | No Comments »
Интерфейсы (II)
Написано admin в 20 Июнь 2008 – 21:36 -Интерфейсы (II)
Поскольку аргумент метода должен иметь универсальный тип object, то перед выполнением сравнения его нужно привести к типу Person. Это приведение использует операцию as, позволяющую проверить корректность выполнения приведения.
При приведении типов часто используются операции is и as. Логическое выражение (obj is T) истинно, если объект obj имеет тип T. Оператор присваивания (obj = P as T;) присваивает объекту obj объект P, приведенный к типу T, если такое приведение возможно, иначе объекту присваивается значение null. Семантику as можно выразить следующим условным выражением: (P is T) ? (T)P : (T)null.
Заметьте также, что при проверке на значение null используется отношение Equals, а не обычное равенство, которое будет переопределено.
Отношение порядка на объектах класса Person задается как отношение порядка на фамилиях персон. Так как строки наследуют интерфейс IComparable, то для фамилий персон вызывается метод CompareTo, его результат и возвращается в качестве результата метода CompareTo для персон. Если аргумент метода не будет соответствовать нужному типу, то выбрасывается исключение со специальным уведомлением.
Конечно, сравнение персон может выполняться по разным критериям: возрасту, росту, зарплате. Общий подход к сравнению персон будет рассмотрен в следующей лекции 20. Read more »
Tags: BackState, BinaryFormatter, ChangeStateOne, ChangeStateTwo, Close, Default, FileMode, FileStream, Formatters, IFormatter, IRemotingFormatter, Personage, System, wealth
Находится в Учебник | No Comments »
