Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Информационный Канал Subscribe.Ru

C# и .NET. Уроки с сайта http://progs.biz

Рассылка №24

Основы C#. Урок 40. Класс System.Object.
Основы C#. Урок 41. Методы класса System.Object.

Полные версии уроков (с картинками) можно найти по адресам
Урок 40. Класс System.Object.
Урок 41. Методы класса System.Object.

Основы C#. Урок 40. Класс System.Object

Класс System.Object является предком для всех классов. Это происходит неявным образом - при объявлении класса мы System.Object не указываем в качестве класса предка. Хотя это и можно сделать (результат будет одним и тем же):

    class Test:System.Object
    {
        ...
    }

То, что все классы являются потомками класса System.Object, позволяет нам использовать методы последнего.

Еще одно из следствий этого - это возможность записать в переменную типа System.Object экземпляр любого класса:

    //Некоторый класс.
    class Test
    {
        public string s;
    }
    class App
    {
        static void Main()
        {
            Object ob;
            //Записываем в ob экземпляр класса-потомка Test.
            ob=new Test();
            //Приводим ob к типу Test.
            ((Test)ob).s="some string";
            //Выводим значение поля s.
            Console.WriteLine(((Test)ob).s);
        }
    }

Указанный фрагмент выведет, естественно, строку "some string".

Наверх

Основы C#. Урок 41. Методы класса System.Object

В классе System.Object имеются следующие методы:

  • Equals - виртуальный метод, возвращающий True, если два объекта расположены в одном месте памяти (второй объект передается в качестве параметра).
  • GetHashCode - виртуальный метод, возвращает некоторое целое число (хэш-код), однозначно идентифицирующее экземпляр класса.
  • GetType - возвращает объект типа Type, описывающий соответствующий тип.
  • ToString - виртуальный метод, по умолчанию возвращает строку, представляющую полное имя типа объекта.

Вот пример использования этих методов:

            Object ob1, ob2;
            ob1=new System.Object();
            ob2=ob1;
            //Выведется True.
            Console.WriteLine(ob1.Equals(ob2));

            ob2=new System.Object();
            //Выведется False.
            Console.WriteLine(ob1.Equals(ob2));

            //Выведется некотрое число.
            Console.WriteLine(ob1.GetHashCode());

            //Выведется System.Object.
            Console.WriteLine(ob1.GetType());

            //Выведется System.Object.
            Console.WriteLine(ob1.ToString());

Виртуальные методы класса System.Object часто переписывают в классах-потмках.

Наверх

Рассылки с сайта progs.biz

Рассылки Subscribe.Ru
Windows API

Windows SDK: уроки по созданию приложений с использованием API функций Windows и всем, что с ним связано - сообщения, обработчики, диалоговые окна и элементы на них, меню, рисование, горячие клавиши и др. API-функции можно использовать фактически в любом языке программирования, так что знание таких функций позволит обойти ограничения того или иного языка.


Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное