1. Для чего в программах используются классы?
В языке программирования Java разработка всех программ базируется на объектно-ориентированном подходе. Можно сказать, что Java – этот строго объектно-ориентированный язык программирования. В основе объектно-ориентированного программирования лежат понятия «класс» и «объект». Программист, который разрабатывает программу на основе объектно-ориентированного подхода, должен уметь выделять в проблемной области (задаче) логически-завершенные единицы. Каждая логически завершенная единица должна быть реализована как некоторый класс. В целом, при программировании задач с использованием объектно-ориентированной парадигмы, программист должен уметь:
- структурировать задачу на завершенные логические единицы, которые могут быть реализованы отдельными классами;
- при решении задачи (проблемы) выделять логические единицы, которые имеют между собою отличия и могут быть реализованы как отдельные классы;
- правильно определять и строить взаимосвязи между разными классами в программе;
- замечать многократно используемый программный код, который может повторяться в разных частях программы, а также правильно выделять его;
- строить иерархию между классами по принципу «от простого к сложного»;
- понимать особенности реализации разнообразных возможностей (инкапсуляция, наследственность, полиморфизм), которые дает использование классов с целью эффективной разработки программ.
2. Определение класса. Общая форма объявления класса. Ключевое слово class
С точки зрения программирования, класс – это набор данных и методов класса. Методы оперируют этими данными класса (выполняют работу над данными класса). С помощью множества методов класса формируется логически-завершенный программный код, который оперирует данными класса.При использовании классов, в программах выделяются две составляющих:
- объявление класса как отдельного составного типа данных;
- реализация объекта (переменной) этого класса.
Объявление класса – это объявление нового составного типа данных. Этот тип данных содержит методы обработки этих данных.
Объявление класса начинается с ключевого слова class. В простейшем случае общая форма объявления класса:
class ClassName
{
type variable1;
type variable2;
...
type variableN;
type method1(parameters1)
{
// ...
}
type method2(parameters2)
{
// ...
}
...
type methodN(parametersN)
{
// ...
}
};
где
- type – некоторый тип данных. Это может быть примитивный (базовый) тип данных или составной (сложный) тип данных, например некоторый класс;
- variable1, variable2, …, variableN – переменные экземпляра класса;
- method1, method2, …, methodN – методы класса;
- parameters1, parameters2, parametersN – параметры, которые соответственно получают методы класса method1, method2, methodN.
3. Что такое объект класса? Общая форма объявления объекта класса. Оператор new
Объект класса – это объявление переменной. Тип переменной – это есть тип с именем класса. При объявлении объекта класса создается экземпляр класса. Понятие «объект класса» и «экземпляр класса» можно считать синонимами.
Общий вид объявления объекта класса в языке Java:
ClassName ObjName = new ClassName();
где
- ClassName – имя класса
- ObjName – имя объекта (переменной) класса.
Возможен и другой вариант объявления объекта класса:
ClassName ObjName;
ObjName = new ClassName();
После вышеприведенных объявлений, переменная ObjName содержит адрес памяти конкретного объекта типа ClassName.
В языке Java создание объекта класса происходит в 2 этапа:
- сначала объявляется переменная (объект) типа класс. Эта переменная еще не определяет объект. Она есть переменной, которая может ссылаться на объект;
- создается конкретная физическая копия объекта, которая присваивается этой переменной типа класс (выделяется память). Это осуществляется с помощью оператора new.
4. Какое отличие между понятиями «класс» и «объект класса»?
Класс – это только информация о новом составном (сложном) типе данных. Фактически, класс описывает формат данных. Объявление класса носит декларативный характер. Имя класса есть уникальным во всей программе.