Суббота, 18.05.2024, 18:09
Progroll -сайт для программистов
Главная | | Регистрация | Вход
«  Декабрь 2015  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Главная » 2015 » Декабрь » 1 » Модульное программирование, пакеты в Java.
13:57
Модульное программирование, пакеты в Java.

Парадигма модульного программирования предусматривает создание библиотеки собственных классов. В терминах Java такие библиотеки называют пакетами. Пакеты - контейнеры для классов, они используются для сохранения пространства имен классов, разделенного на именуемые области. Java имеет большую библиотеку пакетов, идущих в комплекте с JDK. Все тандартного классы Java содержатся в пакете - java.lang, который можно не указывать в программе.

Пример. Размещение класса в пакете Спроектировать класс Rectangle, который описывает прямоугольник. Реализовать конструкторы: - Без параметров; - С одним параметром; - С двумя параметрами. Реализовать методы: - Изменить длину стороны (set) - Получить длину стороны (get) - Определить площадь, периметру и диагонали. 2. Создать программу, которая демонстрирует работу с пакетом. 3. Спроектированный класс разместить в пакете myPack

. Решение. 1. Создаем класс Rectangle. 2. Программа, которая демонстрирует работу с классом (пока разместим их в одном файле

pr3_11.java): Листинг class Rectangle { private double a, b; // Стороны прямоугольника // Конструкторы Rectangle () {a = 1; b = 1; } // Напр., 1 и 1 по умолчанию Rectangle (double x) {a = x; b = x; } Rectangle (double x, double y) {a = x; b = y; } // Методы для изменения длины сторон public void setA (double x) {a = x; } public void setB (double x) {b = x; } // Методы получения длины сторон public double getA () {return a; } public double getB () {return b; } // вычисление площади, периметра, диагонали public double getSquare () {return a * b; } public double getPerimeter () {return a * b; } public double getDiagonal () {return Math.sqrt (a * a + b * b) } } // Программа, которая демонстрирует работу класса Rectangle class pr3_11 { public static void main (String [] args) { Rectangle r = new Rectangle (5, 4); r.setA (3); System.out.println ("a =" + r.getA () + "b =" + r.getB ()); System.out.println ("S =" + r.getSquare ()); System.out.println ("P =" + r.getPerimeter ()); System.out.println ("d =" + r.getDiagonal ()); } } Результаты работы программы: a = 3.0 b = 4.0 S = 12.0 P = 12.0 d = 5.0 3.

Для размещения класса Rectangle в пакете myPack надо: а) прописать в Rectangle.java название пакета (package myPack;) б) обеспечить видимость (public) нужных методов из-за пределов пакета; в) разместить файл Rectangle.java в каталоге myPack, где myPack - подкаталог основного (где содержатся файлы с текстом основной программы, то есть там, где метод main) г) в тексте программы (pr3_13.java), которая использует пакет, указать импорта этого пакета (import myPack. *;). Листинг 3.12. Файл Rectangle.java package myPack; // Эта строка объявляет принадлежность к пакету myPack public class Rectangle { private double a, b; // Конструкторы public Rectangle () {a = 1; b = 1; } public Rectangle (double x) {a = x; b = x; } public Rectangle (double x, double y) {a = x; b = y; } // Методы для изменения длины сторон public void setA (double x) {a = x; } public void setB (double x) {b = x; } // Методы получения длины сторон public double getA () {return a; } public double getB () {return b; } // вычисление площади, периметра, диагонали public double getSquare () {return a * b; } public double getPerimeter () {return a * b; } public double getDiagonal () {return Math.sqrt (a * a + b * b) } } Пусть SRC - папка, где находится основная программа (с методом main (). Тогда файловая структура будет иметь вид: Рис. Файловая структура пакета Листинг.

Файл основной программы pr3.13.java import myPack. *; // Импорт всех классов пакета class pr3_13 { public static void main (String [] args) { Rectangle r = new Rectangle (5, 4); r.setA (3); System.out.println ("a =" + r.getA () + "b =" + r.getB ()); System.out.println ("S =" + r.getSquare ()); System.out.println ("P =" + r.getPerimeter ()); System.out.println ("d =" + r.getDiagonal ()); } }

Замечания. 1.

В одной папке может быть несколько файлов с классами. 2. В одном файле в папке пакета может быть несколько классов, но только один из них - public, он имеет такое же имя, как и его файл. 3. Пакеты могут быть вложенными, что отражается в их коде: package pack.subpack.subsubpack ... Классы вложенных пакетов должны размещаться в соответствующих вложенных папках

Категория: java | Просмотров: 754 | Добавил: pascpro | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

Меню сайта
Категории раздела
Уроки программирования [18]
написание программ для андроид [2]
исходники программ [5]
книги для программистов [1]
программирование мобильных устройств [0]
среды программирования [0]
android [0]
java [2]
simbian [0]
учебники и книги по Java [2]
программы для создания игр [1]
прошивка телефонов,смартфонов [3]
java games [0]
Block title
Block title
Вход на сайт
Поиск
Архив записей
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Copyright MyCorp © 2024