Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Чорноморський державний університетСодержание книги Поиск на нашем сайте
Імені Петра Могили Факультет комп'ютерних наук Кафедра інтелектуальних інформаційних систем Методичний посібник до лабороторних робіт з курсу Об’єктно-орієнтование програмування ч.2 (Java SE 1.6)
для освітніх напрямків підготовки бакалаврів 050101- Комп'ютерні науки 050102- Комп'ютерна інженерія
Укладач: Ю.О. Нездолій
м. Миколаїв - 2010 Методическое пособие к выполнению лабораторных работ. Вступительная часть. Целью данного пособия являтся оказание помощи слушателям курса Объектно-ориентированное программирование ч.2(Java SE 1.6) в получении практических навыков в написании программ на языке программирования Java. Описание теоретических основ Общие требования к оформлению и выполнению работ. - лабораторная работа должна быть оформлена в электронном виде в полном соответствии с требованиями учебного заведения к оформлению такого вида работ. Все материалы должны находиться в директории с именем GGG_LL_VV_прізвище студента, где LL-номер лабороторной, GGG- номер группы,VV-номер варианта и заархивированы в архив LL_GGG_прізвище.rar Материалы должны содержать краткую пояснительную записку не более чем на 3 листах (размер шрифта 10) с описанием задания и его реализации если это необходимо. К пояснительной записке прилагается проект, реализованный в среде NetBeans 6.9 и выше,компилирующийся и запускающийся без ошибок, в котором реализованы все задания лабороторной работы. - возможно изменение граничных условий, по согласованию с преподавателем в целях более эффективного выполнения задания лабороторной с указанием этого в пояснительной записке.
Краткое изложение теоретических основ, необходимых для выполнения лабораторных работ. Программа, написанная на Java представляет собой набор экземпляров классов, взаимодействующих между собой. Рассмотрим на модели отношений реальных объектов(=Человек=,= Студент=, =Учащийся=,=Студент, занимающийся спортом=) некоторые элементы ООП.Ниже приведен код простого класса Человек на Java: 1. Листинг: 1.1. package javaapplication38; 1.2. import java.util.Date; 1.3. /* 1.4. це 1.5. складний 1.6. коментар 1.7. */ 1.8. 1.9. public class Human { 1.10. String fio; // це простий коментар 1.11. private int age; //это свойство =возраст= каждого экземпляра класса Human 1.12. private String adress="адреса не визначена"; //это свойство =адрес= каждого экземпляра класса Human 1.13. private Date birthday=new Date(); //это свойство =день рождения= каждого экземпляра класса Human 1.14. private String inn="11111111111"; //это свойство =идентификационный код= 1.15. 1.16. public Human() { // это конструктор по умолчанию 1.17. 1.18. 1.19. } // вот здесь он закончился 1.20. 1.21. public Human(String fio1, int age2, String adress3, Date birthday56,String inn_3) { // это еще один конструктор 1.22. this.fio = fio1; 1.23. this.age = age2; 1.24. this.adress = adress3; 1.25. this.birthday = birthday56; 1.26. this.inn=inn_3; 1.27. } 1.28. 1.29. public Human(String fio) { // и это конструктор 1.30. this.fio = fio; 1.31. } 1.32. public String getAdress() { 1.33. return adress; 1.34. } 1.35. public void setAdress(String adress) { 1.36. this.adress = adress; 1.37. } 1.38. 1.39. public static void main(String[] args) {// метод класса Human 1.40. Human hum1=new Human("Петров Іван Сергійович");// создание экземпляра класса Human 1.41. Human hum2=new Human("Іванова Оксана Володимирівна");// создание экземпляра класса Human 1.42. System.out.println(hum1); // вывод на консоль информации по экз. hum1 класса Human 1.43. System.out.println(hum2); // вывод на консоль информации по экз. hum2 класса Human 1.44. hum1.setAdress("м. Миколаїв, вул. Мархлевського 34, кв.56");// вызов метода для hum1 по замене адреса 1.45. System.out.println(hum1); // вывод информации по экз. hum1 класса Human после коррект. адреса 1.46. } 1.47. 1.48. public String toString(){ // метод класса Human 1.49. return "Це екземпляр класу Human зі слідуючими властивостями -\n" 1.50. +"Прізвище- "+this.fio+"\nАдреса - "+this.adress+ 1.51. "\nДата народження-" +this.birthday.toString()+"\n\n"; 1.52. } 1.53. public static int sum1(int var1,int var2){ 1.54. return (var1+var2); 1.55. } 1.56. }
Если этот код запустить на выполнение, то мы увидим в окне вывода следующие строки-
Це екземпляр класу Human зі слідуючими властивостями - Прізвище- Петров Іван Сергійович Адреса - адреса не визначена Дата народження-Thu Dec 23 06:17:06 EET 2010
Це екземпляр класу Human зі слідуючими властивостями - Прізвище- Іванова Оксана Володимірівна Адреса - адреса не визначена Дата народження-Thu Dec 23 06:17:06 EET 2010
Це екземпляр класу Human зі слідуючими властивостями - Прізвище- Петров Іван Сергійович Адреса - м. Миколаїв, вул. Мархлевського 34, кв.56 Дата народження-Thu Dec 23 06:17:06 EET 2010
Весь приведенный код находиться в файле Human.java. В файле может быть объявлено несколько классов, но только один из них может иметь модификатор доступа public. Название файла должно совпадать с названием этого public- класса. В этом классе вы можете увидеть метод main, в качестве параметров этого метода выступает массив данных типа String, массив называется args(строка 1.39). Данный метод имеет особое назначение в классах Java. Он не является обязательным для класса, но если мы хотим чтобы класс запускался на исполнение –этот метод обязателен и формат его объявления должен быть всегда следующим =public static void main(String[] args)=(по ключевым словам в строке объявления поговорим позже). На самом деле, когда мы выполняем в терминале команду =java Human Петров = выполняется эквивалентная ей команда =java Human.main Петров =, при этом =Петров= является параметром, который записывается в массив args(строка 1.39) и передается в метод main. Конкретно в этом случае, первый элемент массива args[0] будет равен “ Петров”(нумерация элементов массива ведется с 0-индекса). Структура класса
На выше приведенном примере класса рассмотрим основные элементы структуры класса Java. Объявление класса начинается со строки, в которой присутствует ключевое слово class и название класса. Java- регистрозависимый язык, поэтому классы с названиями Human и HuMan – это разные классы. Тело класса, все его структурные части заключены между фигурными скобками {}(строки 1.9,1.54). Обычно над объявлениями класса размещается информация о необходимых импортах и пакетах(информацию о пакетах см. ниже). В теле класса возможны следующие структурные элементы: атрибуты класса (их иногда называют полями или свойствами класса). Их полным набором будет обладать любой экземпляр данного класса. В случае Human, каждый экземпляр этого класса будет иметь следующие свойства - фамилию, возраст, адрес проживания, день рождения, идентификационный код. Пример атрибутов- строки 1.10-1.14 Свойства класса должны отражать реальные свойства объектов моделируемой системы. Объявление атрибута класса ничем не отличается от обычной переменной- первоначально указывается модификатор доступа(в случае отсутствия его явного задания уровень доступа к свойству – дефаултовый (па-кетный)). Далее указывается тип данных, которые будут хранится в переменной.Затем указывается идентификатор или другими словами имя атрибута класса. В Java идентификаторы могут содержать буквы и цифрры(подчеркивание и $ разрешены), длина не ограничена. Имена атрибутов должны отражать их связь со свойствами реальных объектов. Пример: строка 1.11 - private int age;, где private- модификатор доступа, int- тип данных, которые будут храниться в атрибуте с именем age.
конструкторы класса -это структурный элемент, отвечающий за правильность процедуры создания экземпляров класса. Обычно в конструкторах производят корректную инициализацию свойств создаваемых экземпляров. Количество конструкторов в классе не ограничено. Конструктор без параметров называют конструктором по умолчанию. Он создается автоматически, даже если не задан явно программистом, но только в случае, если в классе программист не создал ни одного конструктора. Если у нас есть хотя бы один конструктор, и есть необходимость в конструкторе без параметров, то мы должны его задать в коде самостоятельно. Особенности задания – конструктор всегда называется точно так же как сам класс. Использование при описании класса нескольких конструкторов с различными параметрами называется перегрузкой конструкторов. Пример – строка 1.21, 1.29, 1.16. При создании экземпляра класса (с использованием оператора new строка 1.40, 1.41) мы можем использовать только те конструкторы, параметры которых соответствуют, описанным в классе. Пример - я не могу,например, создать экземпляр класса Human командой = Human h123=new Human(23,45,”Сидоров”) =, т. к. у нас в описании класса нет ни одного конструктора с данной последовательностью и типом параметров – int, int, String. Инициализаторы или блоки статической инициализации – их пока не рассматриваем. Методы класса – в этой части сосредоточено поведение класса, то что каждый экземпляр класса умеет делать для других (внешний интерфейс) и то, что он делает для поддержания своей внутренней целостности и непротиворечивости(внутренний интерфейс). В рассматриваемом классе Human описаны следующие методы- getAdress() -1.32, setAdress(String adress)-1.35, main(String[] args) -1.39, toString() – 1.48 Они все относятся к внешнему интерфейсу класса т.к. имеют модификатор доступа public. Остановимься чуть подробнее на синтаксисе объявления методов. Введем понятие сигнатуры метода- это совокупность имени метода, типов и количества параметров, а так же порядка параметров в описании метода. Понятие сигнатуры важно по причине того, что в классе не могут быть два метода с одинаковой сигнатурой. Это контролирует компилятор. Пример – компилятор не разрешит создание в одном классе методов one(String str, int var1) и one(String qwe, int sde) (докажите, что сигнатуры этих методов одинаковы), но разрешит создание методов one(String str1, int var1, Date d1), one(String str1,int var1) и one(Date d1,String str1,int var1) (докажите что сигнатуры методов различны для этих 3 методов). Наличие в классе нескольких методов с одинаковыми именами называется перегрузкой методов. Отдельная группа методов – это так называемые set-еры и get-еры. Это специлизированные методы, которые предназначены для считывания (get-еры) и модификации (set-еры) атрибутов класса. При этом атрибуты класса делают скрытыми от внешних клиентов (уровень доступа private).Доступ к этим атрибутам класса предоставляется через public- методы, пример getAdress() -1.32, setAdress(String adress)-1.35 Обратите внимание на параметр в описании модифицирующего метода – в этом методе в качестве параметра передается значение, которое необходимо присвоить атрибуту adress. Порядок объявления метода следующий- модификатор доступа, тип возвращаемого значения, наименование метода и в скобках через запятую список параметров метода, с указанием типа и названия параметров. Пример: Строка 1.35 public void setAdress(String adress), где public – модификатор доступа, void – тип возвращаемого значения(void обозначает, что метод ничего не возвращает), setAdress(String adress) – название метода, в качестве параметра используется любая переменная, тип которой String.
|
||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 137; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.213.36 (0.011 с.) |