Мегаобучалка Главная | О нас | Обратная связь


П2. Объектные принципы Java



2019-08-13 205 Обсуждений (0)
П2. Объектные принципы Java 0.00 из 5.00 0 оценок




 

    Консольные приложения

 

Java приложение представляет собой один или несколько классов. В качестве первого примера рассмотрим следующий.

 

Пример 1. Простое использование класса.

 

package object_programming_principlese;

import java.awt.*;

import java.util.Scanner;

 

 class SimpleArithmetic

 {

int Add(int par1,int par2)

{

return par1+par2;

}

 }

 

public class Object_Programming_PrinciplesE {

public static void main(String[] args) {

   System.out.println("Input first number");

   Scanner input= new Scanner(System.in);

   int n1=input.nextInt();

   System.out.println("Input second number");

   int n2=input.nextInt();

   SimpleArithmetic sa=new SimpleArithmetic();

   System.out.printf("The sum of %d and %d is %d",n1,n2,sa.Add(n1, n2));

}

}

 

Данная программа порождает следующее окно (рисунок 139) с результатами работы

 

 

Рисунок 139. Выходные результаты программы

 

В приведенном приложении объявлена два класса:

     SimpleArithmetic и Object_Programming_PrinciplesE,

объединенных в пакет object_programming_principles. Пакет объявляется как самая первая строка программы. Если пакет не объявлен, то он используется как анонимный (без имени). Следовательно, пакет является вариантом объединения классов. Классы в одном и том же пакете «видят» друг друга, т.е. могут использовать друг друга, если это позволяют их уровни доступа. Уровень доступа public является предельно общим и делает класс доступным для использования в других классах. Уровень доступа private, напротив, делает класс недоступным для использования в других классах. Уровень доступа protected делает класс доступным только в дочерних классах. Если не объявлять спецификатор доступа, то класс будет «видим» в пределах папки (каталога – folder). Класс, объявленный как public, должен содержать точку входа – метод  main, с которого начинается его выполнение. Классы состоят из методов и переменных – членов класса. В примере выше класс SimpleArithmetic содержит метод

 Add, а класс Object_Programming_PrinciplesE – метод main. Метод должен возвращать значение определенного типа и, как правило, использует аргументы. Так, метод int Add(int par1,int par2) возвращает значение целого типа (int) и использует два параметра par1, par2 также целого типа. Метод заканчивается командой return, которая и возвращает ответ. В методе может быть несколько команд return. Классы и методы должны записываться в фигурных скобках.

Классы могут использоваться как сами по себе, так и создавать объекты (экземпляры классов). Если требуется использовать объект класса, то он должен быть создан. Объекты создаются с помощью конструкторов классов – методов, имена которых совпадают с именами классов. В нашем примере объект класса SimpleArithmetic создавался в команде

SimpleArithmetic sa=new SimpleArithmetic();

 

При обращении к конструктору обязательно указывается ключевое слово new. Конструкторы в общем случае должны объявляться в классах, однако если конструктор не содержит параметров, то его можно не объявлять (действует объявление по умолчанию – by default). В рассматриваемом примере именно это имеет место.

Если хотим использовать классы без объектов, то нужно объявлять методы как static. Этот вариант рассмотрим позже. Имеются стандартные классы Java, подключаемые с помощью библиотечных пакетов. Подключение их реализуется через команду import. В рассматриваемом примере использованы стандартные классы System.out и Scanner. Оба используются для консольного ввода-вывода. Они подключаются посредством команд

 

                  import java.awt.*;

      import java.util.Scanner;

Объект класса Scanner используется для ввода значения с клавиатуры. Создаем этот объект таким образом

       Scanner input= new Scanner(System.in);

Читаем значения параметров с помощью этого объекта ( с именем ) так

       int n1=input.nextInt();

и

       int n2=input.nextInt();

 

Класс используется для вывода результатов/текста на консоль, например

   System.out.println("Input second number");

Для вывода используется метод println.

  Итак, рассматриваемое приложение начинается с метода main и приглашает ввести два числа. Затем создается объект класса SimpleArithmetic, вызывается метод sa.Add(n1, n2) (с указанием в качестве параметров двух введенных целых чисел n1, n2) этого объекта. Заметим, что обращение к методу sa.Add выполняется внутри другого метода

  System.out.printf("The sum of %d and %d is

                     %d",n1,n2,sa.Add(n1, n2));

Вообще, System.out.printf используется для форматированного вывода. Специальные обозначения %d (place holders) используются для подстановки вместо них параметров, перечисляемых после закрывающих двойных кавычек. Маленькая литера d указывает, что подставляется значение целого типа.

Теперь рассмотрим тот же пример с использованием статических методов (static)

 

package object_programming_principlese;

import java.awt.*;

import java.util.Scanner;

 

 class SimpleArithmetic

 {

static int Add(int par1,int par2)

{

return par1+par2;

}

 }

public class Object_Programming_PrinciplesE {

   

public static void main(String[] args) {

   System.out.println("Input first number");

    Scanner input= new Scanner(System.in);

   int n1=input.nextInt();

   System.out.println("Input second number");

   int n2=input.nextInt();

   //SimpleArithmetic sa=new SimpleArithmetic();

   System.out.printf("The sum of %d and %d is %d",n1,n2,SimpleArithmetic.Add(n1, n2));

}

}

 

Здесь имеется статическое объявление

static int Add(int par1,int par2)

             {

return par1+par2;

             }

Статически объявленные методы нельзя использовать в объектах. Поэтому ранее использованная строка

  //SimpleArithmetic sa=new SimpleArithmetic();

Записана через знаки комментария (//). При вызове статически объявленного метода перед его именем указывается имя класса:

 

        SimpleArithmetic.Add(n1, n2))

 

Важным вариантом класса является интерфейс. В интерфейсе методы только объявляются, но не реализуются. Класс, в котором методы интерфейса должны быть реализованы, подключает интерфейс с помощью директивы implements. Предыдущий пример, реализованный на основе интерфейса, представлен таким образом

 

package object_programming_principlese;

import java.awt.*;

import java.util.Scanner;

 

 interface SimpleArithmetic

 {

public int Add(int par1,int par2);

 }

public class Object_Programming_PrinciplesE

   implements SimpleArithmetic

{

public int Add(int par1, int par2)

{

return par1+par2;  

}

public static void main(String[] args) {

   System.out.println("Input first number");

   Scanner input= new Scanner(System.in);

   int n1=input.nextInt();

   System.out.println("Input second number");

   int n2=input.nextInt();

   System.out.printf("The sum of %d and %d is %d",n1,n2,new    

   Object_Programming_PrinciplesE().Add(n1, n2));

}

}

 

Подключение интерфейса реализовано в строке

public class Object_Programming_PrinciplesE

   implements SimpleArithmetic

 

 



2019-08-13 205 Обсуждений (0)
П2. Объектные принципы Java 0.00 из 5.00 0 оценок









Обсуждение в статье: П2. Объектные принципы Java

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (205)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)