Что такое класс в java?

В этой статье я попробую простым языком и кратко рассказать, что такое класс в общем смысле и применительно к языку java.

В общем смысле класс – это абстракция какого-нибудь предмета или явления. Например, если мы пишем приложение телефонный справочник, то со 100%-й вероятностью можно утверждать, что в нем будет как-то описываться человек. В этом описании, например, будет фигурировать ФИО этого человека, его адрес и его телефонный номер.

Это его описание есть абстракция. Абстракция – это упрощение какого-то понятия или предмета. В данном случае мы упростили человека до ФИО, адреса и телефона. Нам совсем нет необходимости учитывать такие понятия как его рост, возраст или трехмерную модель. От всего этого мы абстрагировались.

Еще можно сказать, что класс – это чертеж объекта или понятия. В этом чертеже мы учитываем только важные характеристики. Эти характеристики могут варьироваться в зависимости от поставленной задачи. Например, для приложения телефонный справочник достаточно ФИО, адреса и телефонного номера. А для приложения, которое высчитывает ваш индекс массы тела нужно знать только ваш рост, вес, пол и возраст. Оно полностью абстрагировалось от таких понятий как ФИО, адрес и телефон.

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

Например, для телефонного справочника он может выглядеть так.

Грубо говоря в java класс – это некая структура для удобства объединяющая в себе несколько переменных (полей класса) и действий (методов). По ней будут создаваться объекты. Если кратко, то объекты – это, что-то конкретное, например, Вы, я, Ваша мама и т.д. Это что-то, что сделано по классу (как по чертежу). Этими объектами будет в дальнейшем манипулировать приложение.

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

Теперь он содержит другие поля класса и может содержать другие действия. В java классы могут содержать сотни таких характеристик, выстраиваться в иерархии и содержать внутри себя ссылки на другие классы. Например, вот класс человек для приложения автомобильный парка. Он в себя может включать и другие классы.

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

Также класс может вообще не содержать никаких полей, а только действия или даже может и действий не содержать. Очень многое зависит от поставленной задачи.

Добавить комментарий

Ваш e-mail не будет опубликован.

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">