Главная страница
Навигация по странице:

  • Определение класса Класс определяется с помощью ключевого слова сlass

  • вап. Классы. Экземпляр класса


    Скачать 21.03 Kb.
    НазваниеЭкземпляр класса
    Дата12.03.2023
    Размер21.03 Kb.
    Формат файлаdocx
    Имя файлаКлассы.docx
    ТипДокументы
    #982141

    Классы

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

    Шаблоном или описанием объекта является класс (class), а объект представляет экземпляр класса. Можно провести следующую аналогию. У нас у всех есть некоторое представление о машине - наличие двигателя, шасси, кузова и т.д. Есть некоторый шаблон auto - этот шаблон можно назвать классом. Реально же существующий автомобиль auto_solaris (фактически экземпляр данного класса) является объектом этого класса.

    Определение класса

    Класс определяется с помощью ключевого слова сlass. Вся функциональность класса представлена его членами - полями (полями называются переменные класса) и методами. Например, класс Book мог бы иметь следующее описание :

    class Book

    {

    public String name;

    public String author;

    public int year;

    public void Info(){

    System.out.printf("Книга '%s' (автор %s) была издана в %d году \n", name, author, year);

    }

    }

    Таким образом, в классе Book определены три переменных и один метод Info, который выводит значения этих переменных.

    Кроме обычных методов в классах используются также и специальные методы, которые называются конструкторами. Конструкторы нужны для создания нового объекта данного класса и, как правило, выполняют начальную инициализацию объекта. Название конструктора должно совпадать с названием класса :

    class Book

    {

    public String name;

    public String author;

    public int year;

    Book(){

    this.name = "неизвестно";

    this.author = "неизвестно";

    this.year = 0;

    }

    Book(String name, String author, int year){

    this.name = name;

    this.author = author;

    this.year = year;

    }

    public void Info(){

    System.out.printf("Книга '%s' (автор %s) была издана в %d году \n", name, author, year);

    }

    Класс Book имеет два конструктора. Первый конструктор без параметров присваивает "неопределенные" начальные значения полям. Второй конструктор присваивает полям класса значения, которые передаются через его параметры.

    Так как имена параметров и имена полей класса в данном случае у нас совпадают - name, author, year, то мы используем ключевое слово this. Это ключевое слово представляет ссылку на текущий объект. Поэтому в выражении this.name = name; первая часть this.name означает, что name - это поле текущего класса, а не название параметра name. Если бы у нас параметры и поля назывались по-разному, то использовать слово this было бы необязательно.

    Мы можем определить несколько конструкторов для установки разного количества параметров и затем вызывать один конструктор класса из другого :

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

    Абстрактный класс, abstract class


    Абстрактный класс в объектно-ориентированном программировании — базовый класс, который не предполагает создания экземпляров. Абстрактные классы реализуют на практике один из принципов ООП — полиморфизм. Абстрактный класс может содержать (и не содержать) абстрактные методы. Абстрактный метод не реализуется для класса, в котором описан, однако должен быть реализован для его неабстрактных потомков.

    Суперкласс Object


    В Java есть специальный суперкласс Object и все классы являются его подклассами. Поэтому ссылочная переменная класса Object может ссылаться на объект любого другого класса. Так как массивы являются тоже классами, то переменная класса Object может ссылаться и на любой массив.


    написать администратору сайта