Программирование мобильных телефонов на Java


Программирование мобильных телефонов

  • Введение
  • Глава 1. Устройство мобильных телефонов
  • Глава 2. Платформа Java 2 Micro Edition
  • Глава 3. Средства разработки мобильных приложений
  • Глава 4. Телефонные эмуляторы
  • Глава 5. Механизм работы приложений Java 2 ME
  • Глава 6. Классы пользовательского интерфейса
  • Глава 7. Программирование графики
  • Глава 8. Техника создания игр
  • Глава 9. Мобильная мультимедиа-библиотека
  • Заключение
  • Приложение 1. Основы языка Java
  • Приложение 2. Справочник по Java 2 Micro Edition

     

    Программирование на Java

  • Введение
  • Глава 1. Встроенные типы данных, операции над ними
  • Глава 2. Объектно-ориентированное программирование в Java
  • Глава 3. Пакеты и интерфейсы
  • Глава 4. Классы-оболочки
  • Глава 5. Работа со строками
  • Глава 6. Классы-коллекции
  • Глава 7. Классы-утилиты
  • Глава 8. Принципы построения графического интерфейса
  • Глава 9. Графические примитивы
  • Глава 10. Основные компоненты
  • Глава 11. Размещение компонентов
  • Глава 12. Обработка событий
  • Глава 13. Создание меню
  • Глава 14. Апплеты
  • Глава 15. Изображения и звук
  • Глава 16. Обработка исключительных ситуаций
  • Глава 17. Подпроцессы
  • Глава 18. Потоки ввода/вывода
  • Глава 19. Сетевые средства Java
  • Приложение. Развитие Java

  • 

    3fb01dc2


     

     

    1.5. Объекты классов



    Объекты представляют класс, наследуя от своего класса все возможности. Объявить объект очень просто, необходимо вначале указать класс, а потом объект этого класса. Например:

    Telefon object;

    Точно так же как создается переменная int а, создается и объект класса. Такая запись создаст пустой объект класса, инициализирующийся значением null. Конечно, это еще не полноценный объект, а всего лишь ссылка на данный класс. Чтобы создать полноценный класс, нужно воспользоваться ключевым словом new, с помощью которого происходит выделение области памяти для содержания создаваемого объекта.

    Telefon object;
    
    object = new Telefon);


    или

    Telefon object   =  new Telefonf);


    Обе записи создания объекта класса Telefon одинаковы. Чаще всего используется вторая запись, но это можно оставить на усмотрение программиста. Сначала создается пустая ссылка object, а потом с помощью ключевого слова new выделяется память для объекта и он инициализируется конструктором класса Telefon (). Именно тут и необходим хорошо продуманный конструктор с параметрами, инициализирующий объект с заданными значениями.

    Теперь давайте рассмотрим пример посложнее. Создадим класс с конструктором для инициализации высоты и ширины дисплея и в методе main () создадим объект класса Telefon, вычислив при этом площадь экрана абстрактного телефона.

    class  Telefon
    
    {
    
    int  w,   h,   s;
    
    // конструктор класса Telefon
    
     Telefon (int a, int b)
    
    {
    
    w = a;
    
    h = b;
    
    }
    
    // метод, вычисляющий площадь экрана
    
    void Area()
    
    {
    
    S = w*h;
    
    }
    
    }
    
    // class RunTelefon может находится в файле
    
     RunTelefon.Java
    
    class RunTelefon
    
     {
    
    public static void main (String args[])
    
    {
    
    // создаем объект класса Telefon
    
    Telefon object = new Telefon (70, 90);
    
    // вычисляем площадь дисплея
    
    object.Area();
    
    }
    
     }


    Разберем весь пример более подробно. Итак, мы создаем класс Telefon с тремя переменными: w, h и s, в которых впоследствии будут храниться, соответственно, ширина, высота и площадь дисплея телефона. Далее создаем конструктор класса Telefon для инициализации высоты и ширины дисплея. Метод Area () класса Telefon вычисляет площадь экрана, сохраняя полученный результат в переменной s. После этого идет класс RunTelefon с методом main (), являющийся входной точкой для всей программы. Как только написанное приложение начнет работать, программа найдет метод main () и начнет выполнять содержимое программы.

    В первой строке кода метода main () происходит создание объекта класса Telefon со значениями ширины - 70 и высоты - 90 для экрана телефона. Вторая строка кода вызывает метод Area (), вычисляющий площадь дисплея. Метод Area () нельзя просто так вызвать в программе, он должен ссылаться на объект класса Telefon. Запись object.Area () как раз и указывает на то, что объект класса Telefon вызывает метод Area (). Если имеется несколько объектов класса Telefon, то есть несколько различных телефонов, тогда вызов метода Area () должен происходить для каждого из объектов класса Telefon, например:

    object1.Area();
    
    object2.Area();
    
    objects.Area();


    Для каждого из объектов класса Telefon будет вычисляться только своя площадь экрана. Давайте рассмотрим еще более сложную программу, создав несколько объектов класса Telefon, а заодно используем другую схему работы метода Area (), воспользовавшись ключевым словом return.

    class Telefon
    
    {
    
    int w, h, s, n;
    
    // конструктор
    
    Telefon (int a, int b)
    
    {
    
    w = a;
    
    h = b;
    
    }
    
    // вычисляет площадь дисплея int Area() 
    
    {
    
    return w*h;
    
     }
    
    }
    
    // class RunTelefon может находится в.файле RunTelefon.java
    
    class RunTelefon
    
    {
    
    public static void main (String[] args)
    
     {
    
    //   создадим объект  Siemens
    
    Telefon  Siemens   =  new Telefon  (101, 8.0); 
    
    //   создадим объект nokia
    
    Telefon nokia  =  new Telefon (128, 128); 
    
    //   сохраним полученную площадь  в s
    
    s   =   Siemens.Area(); 
    
    //   сохраним полученную площадь  в n
    
     n  =  nokia.Area();
    
    }
    
    }


    В реализации класса Telefon изменился только метод Area (), использовалось ключевое слово return. С его помощью результат умножения высоты на ширину, то есть результат работы всего метода возвращается для дальнейшего использования в коде программы. А в рабочем цикле программы в методе main (), этот результат сохраняется в двух переменных s и N для каждого из объектов класса Telefon. В данном случае площадь экрана для объекта Siemens равна 101x80=8080, а для объекта nokia 128x128=16384 и оба результата хранятся в различных переменных.

    У вас наверно сразу возникает вопрос, а как увидеть получившийся результат? Действительно, просчитать значение не составляет труда, но хотелось бы увидеть полученный результат на дисплее. Для этого в Java существует встроенный метод print In(). Чтобы увидеть на экране результат работы метода Area (), нужно добавить вызов метода print In ().

    s = Siemens.Area();
    
    System.out.println("Площадь экрана Siemens" + s) ;
    
    n = nokia.Area()
    
    System.out.println("Площадь   экрана  nokia" + n) ;


    Метод print (), как уже говорилось, встроенный и принадлежит классу System, поэтому такая запись, out — это поток ввода, связывающий программу с консолью. Реально в программировании телефонов метод printIn () используется, как правило, в диагностических целях, но как логическое завершение примера подойдет. С помощью кавычек ограничивается количество выводимого на экран текста, это необходимое условие. Запись + s, применяет операцию конкатенации на основе оператора +, с помощью которого на экран выводится значение переменной s, то есть целочисленное значение равное площади экрана.

    Резюмируя объектно-ориентированное программирование, можно с уверенностью заявить - это не сложно, не страшно, достаточно понятно и, что самое главное, просто в использовании. Создав необходимый класс, объявив объект и воспользовавшись методами созданного класса, вы получаете неограниченные возможности в программировании приложений. Но главное - большое количество необходимых классов и методов уже созданы за вас и собраны в специальные библиотеки, о которых мы поговорим в конце этой главы. Вам же остается только воспользоваться этими готовыми классами, создавая свои объекты этих классов.

     
    -
    



    Copyright © vzlom-1.ru 2020-2021