Java -практика использования


Объектно-ориентированное программирование в Java


Парадигмы программирования
Парадигмы программирования Первые, даже самые простые программы, написанные в машинных кодах, составляли сотни строк совершенно непонятного текста. Для упрощения и ускорения программирования...
Окончательные члены и классы
Окончательные члены и классы Пометив метод модификатором final , можно запретить его переопределение в подклассах. Это удобно в целях безопасности. Вы можете быть уверены, что метод выполняе...
Класс Object
Класс Object Если при описании класса мы не указываем никакое расширение, т. е. не пишем слово extends и имя класса за ним, как при описании класса Pet , то Java считает этот класс расшире...
Конструкторы класса
Конструкторы класса Вы уже обратили внимание на то, что в операции new, определяющей экземпляры класса, повторяется имя класса со скобками. Это похоже на обращение к методу, но что за "...
Операция new
Операция new Пора подробнее описать операцию с одним операндом, обозначаемую словом new . Она применяется для выделения памяти массивам и объектам. В первом случае в качестве операнда ука...
Статические члены класса
Статические члены класса Разные экземпляры одного класса имеют совершенно независимые друг от друга поля-, принимающие разные значения. Изменение поля в одном экземпляре никак не влияет на т...
Листинг 2 3 Статическая переменная
Листинг 2.3. Статическая переменная class Automobile { private static int number;     Automobile(){        number++;    &nbs...
Изменение статической переменной
Рисунок 2.2. Изменение  статической переменной Интересно, что к статическим переменным можно обращаться с именем класса, Automobile.number , а не только с именем экземпляра, lada2105.num...
Класс Complex
Класс Complex Комплексные числа широко используются не только в математике. Они часто применяются в графических преобразованиях, в построении фракталов, не говоря уже о физике и технических...
Листинг 2 4 длинный но просмотрите
Листинг 2.4 длинный, но просмотрите его внимательно, при обучении языку программирования очень полезно чтение программ на этом языке. Более того, только программы и стоит читать, пояснения автор...
Листинг 2 4 Класс Complex
Листинг 2.4. Класс Complex class Complex { private static final double EPS = le-12; // Точность вычислений     private double re, im;      &n...
Вывод программы ComplexTest
Рисунок 2.3. Вывод программы  ComplexTest  ...
Метод main()
Метод main() Всякая программа, оформленная как приложение (application), должна содержать метод с именем main . Он может быть один на все приложение или содержаться в некоторых классах этого...
Листинг 2 5 Передача параметров в метод main()
Листинг 2.5. Передача параметров в метод main() class Echo { public static void main(String[] args){        for (int i = 0; i < args.length; i++)  ...
Вывод параметров командной строки
Рисунок 2.4. Вывод параметров  командной строки Как видите, имя класса не входит в число параметров. Оно и так известно в методе main() . Знатокам C/C++ Поскольку в Java имя файла...
Где видны переменные
Где видны переменные В языке Java нестатические переменные можно объявлять в любом месте кода между операторами. Статические переменные могут быть только полями класса, а значит, не могут об...
Листинг 2 6 Видимость и инициализация переменных
Листинг 2.6. Видимость и инициализация переменных class ManyVariables{   static int x = 9, у;  // Статические переменные — поля класса        &...
Вложенные классы
Вложенные классы В этой главе уже несколько раз упоминалось, что в теле класса можно сделать описание другого, вложенного (nested) класса. А во вложенном классе можно снова описать вложенный...
Листинг 2 7 Вложенные классы
Листинг 2.7. Вложенные классы class Nested{ static private int pr;   // Переменная pr объявленa статической             ...
Отношения "быть частью" и "являться"
Отношения "быть частью" и "являться" Теперь у нас появились две различные иерархии классов. Одну иерархию образует наследование классов, другую — вложенность классов. О...
Принципы объектноориентированного программирования
Принципы объектно-ориентированного программирования Объектно-ориентированное программирование развивается уже более двадцати лет. Имеется несколько школ, каждая из которых предлагает свой на...
Заключение
Заключение После прочтения этой главы вы получили представление о современной парадигме программирования — объектно-ориентированном программировании и реализации этой парадигмы в языке Java....
Абстракция
Абстракция Описывая поведение какого-либо объекта, например автомобиля, мы строим его модель. Модель, как правило, не может описать объект полностью, реальные объекты слишком сложны. Приходит...
Иерархия
Иерархия Иерархия объектов давно используете для их классификации. Особенно детально она проработана в биологии. Все знакомы с семействами, родами и видами. Мы можем сделать описание своих до...
Ответственность
Ответственность В нашем примере рассматривается только взаимодействие в процессе кормления, описываемое методом eat() . В этом методе животное обращается к хозяину, умоляя его применить мет...
Модульность
Модульность Этот принцип утверждает — каждый класс должен составлять отдельный модуль. Члены класса, к которым не планируется обращение извне, должны быть инкапсулированы. В языке Java инка...
Принцип KISS
Принцип KISS Самый основной, базовый и самый великий : принцип программирования — принцип KISS — не нуждается в разъяснений : и переводе: "Keep It Simple, Stupid!"  ...
Как описать класс и подкласс
Как описать класс и подкласс Итак, описание класса начинается со слова class, после которого записывается имя класса. Соглашения "Code Conventions" рекомендуют начинать имя класса...
Листинг 2 1 Нахождение корня нелинейного
Листинг 2.1. Нахождение корня нелинейного уравнения методом бисекцйи class Bisection2{ private static double final EPS = le-8; // Константа private double a = 0.0, b = 1.5, root; ...
Листинг 2 2 Пример полиморфного метода
Листинг 2.2. Пример полиморфного метода abstract class Pet{    abstract void voice();  } class Dog extends Pet{    int k = 10;    void voice(){...
Результат выполнения программы Chorus
Рисунок 2.1. Результат выполнения  программы Chorus  ...
Абстрактные методы и классы
Абстрактные методы и классы При описании класса Pet мы не можем задать в методе voice () никакой полезный алгоритм, поскольку у всех животных совершенно разные голоса. В таких случаях мы...








- Начало -