Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Інкапсуляція

Поля прийнято описувати як private, а для доступу до них створювати спеціальні get та set методи.

 

Некоректний підхід Коректний підхід
public class Man { public String name; public int age; ... } public class Run{ public static void main(String[] args){ Man man=new Man(); man.name="John"; ... System.out.println("Name="+man.name); } } public class Man { private String name; private int age; public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } ... } public class Run{ public static void main(String[] args){ Man man=new Man(); man.setName("John"); ... System.out.println("Name="+man.getName()); } }

 

 

Поля прийнято описувати як private, особливо, якщо для них існують спеціальні public get та set методи. Якщо клас описаний як public, то його конструктор теж варто зробити public, якщо немає іншого спеціального методу для створення об’єктів даного класу, наприклад, фабрики об’єктів.

 

Некоректний підхід Коректний підхід
public class Dog { int age; String breed; Dog { ... } public int getAge(){ return age; } public int getBreed(){ return breed; } public void setAge(int age){ this.age=age; } public void setBreed(int breed){ this.breed=breed; } public void barks(){ ... } } public class Dog { private int age; private String breed; public Dog { ... } public int getAge(){ return age; } public int getBreed(){ return breed; } public void setAge(int age){ this.age=age; } public void setBreed(int breed){ this.breed=breed; } public void barks(){ ... } }

 


5.3. Створення програм у відповідності з принципами написання якісного коду.

 

Метою даного практикуму є набуття навичок побудови програм у відповідності з принципами написання якісного коду, а саме за рівнями:

Рівень класів:

· розумна абстракція;

· якісний інтерфейс класу;

· розумне об’єднання класів в пакети.

Рівень методів:

· розумна причина для створення методу;

· вдале ім’я методу;

· розумний розмір методу;

· розумний список параметрів методу;

· обгрунтований тип значення, що повертається;

· обгрунтоване використання ключового слова final.

Рівень змінних:

· грамотне оголошення змінних;

· грамотна ініціалізація змінних;

· поміщення змінної у відповідну їй область видимості;

· одиничність мети кожної змінної;

· грамотне іменування змінної.

Рівень операторів:

· грамотний вибір умовного оператора (if або case);

· грамотний вибір оператора циклу;

· відповідне використання нестандартних структур керування (наприклад, рекурсії);

· подолання занадто великої вкладеності.

Рівень констант:

· завжди підставляти константи на місце "магічних чисел";

· вдале ім’я константи.

Загальний рівень:

· форматування коду.

 

Завдання: Створити програми, які реалізують наступну функціональність. При створенні програм користуватись правилами написання якісного коду.

1) Квадрат, який рухається всередині вікна по діагоналі і "відбивається" від стінок під кутом, "дзеркальним" до кута руху до стінки.

2) На екрані з’являються різнокольорові прямокутники з однаковою шириною і різною висотою, яка задається генератором випадкових чисел. При натисненні кнопки вишикувати дані прямокутники за зростанням висоти.

3) Дано рядок символів. Вияснити, чи є він коректною web-адресою.


Читайте також:

  1. Інкапсуляція




Переглядів: 537

<== попередня сторінка | наступна сторінка ==>
Чітка визначеність та одиничність мети методу | Unit-тестування

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.