🗊Презентация Программирование на Java. Объектная модель Java. (Лекция 3.1)

Нажмите для полного просмотра!
Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №1Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №2Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №3Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №4Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №5Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №6Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №7Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №8Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №9Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №10Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №11Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №12Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №13Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №14Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №15Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №16Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №17Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №18Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №19Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №20Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №21Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №22Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №23Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №24Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №25Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №26Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №27Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №28Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №29Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №30Программирование на Java. Объектная модель Java. (Лекция 3.1), слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему Программирование на Java. Объектная модель Java. (Лекция 3.1). Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





 Мультимедийный курс 

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


Лекция 3.1

ОБЪЕКТНАЯ МОДЕЛЬ JAVA (ч.1)
Описание слайда:
Мультимедийный курс Программирование на Java Лекция 3.1 ОБЪЕКТНАЯ МОДЕЛЬ JAVA (ч.1)

Слайд 2





Классы и объекты
Любая программа на Java – это класс или набор классов
Класс 
 это шаблон, который определяет состав и  поведение объекта, созданного с помощью этого класса 
с другой стороны - это программный тип: 
 переменные типа  "класс" – это ссылки на 
  объекты (экземпляры) класса
Описание слайда:
Классы и объекты Любая программа на Java – это класс или набор классов Класс это шаблон, который определяет состав и поведение объекта, созданного с помощью этого класса с другой стороны - это программный тип: переменные типа "класс" – это ссылки на объекты (экземпляры) класса

Слайд 3





Классы и объекты
Общая форма объявления класса:
[<cпецификатор доступа>][<модификатор>] 
        class    <Имя_класса> {
Описание слайда:
Классы и объекты Общая форма объявления класса: [<cпецификатор доступа>][<модификатор>] class <Имя_класса> {

Слайд 4





Классы и объекты
Спецификаторы доступа класса
private 	-	внутри класса
default	-	внутри пакета
protected -	внутри пакета и потомков
public	-	любой внешний код
default - по умолчанию
Описание слайда:
Классы и объекты Спецификаторы доступа класса private - внутри класса default - внутри пакета protected - внутри пакета и потомков public - любой внешний код default - по умолчанию

Слайд 5





Классы и объекты
Модификаторы классов
 final - классы не могут иметь подклассов, 
  например, классы используемые в качестве
  некоторого важного для разрабатываемой 
 программной системы стандарта
 abstract – класс, в котором хотя бы один
   метод не определен полностью
Описание слайда:
Классы и объекты Модификаторы классов final - классы не могут иметь подклассов, например, классы используемые в качестве некоторого важного для разрабатываемой программной системы стандарта abstract – класс, в котором хотя бы один метод не определен полностью

Слайд 6





Классы и объекты
Основные элементы
Переменные, определенные в классе, называются полями (переменными экземпляра) 
Каждый объект (экземпляр класса) содержит свою собственную копию полей
Члены класса – это  поля и методы, 
    определенные внутри класса
Описание слайда:
Классы и объекты Основные элементы Переменные, определенные в классе, называются полями (переменными экземпляра) Каждый объект (экземпляр класса) содержит свою собственную копию полей Члены класса – это поля и методы, определенные внутри класса

Слайд 7





Классы и объекты
Пример объявления класса:
class Point extends Object { 
       public double x;
       public double y; 
   }

Этот класс содержит только 2 поля х и у .
Описание слайда:
Классы и объекты Пример объявления класса: class Point extends Object { public double x; public double y; } Этот класс содержит только 2 поля х и у .

Слайд 8





Что может содержать класс 
(элементы/ члены класса)
Конструкторы
Блоки инициализации
Методы
Поля
Вложенные классы
Описание слайда:
Что может содержать класс (элементы/ члены класса) Конструкторы Блоки инициализации Методы Поля Вложенные классы

Слайд 9





Экземпляр класса 
Если класс - это шаблон, то
экземпляр класса (объект) реализация шаблона

new - оператор создания экземпляра
Описание слайда:
Экземпляр класса Если класс - это шаблон, то экземпляр класса (объект) реализация шаблона new - оператор создания экземпляра

Слайд 10





Объект-экземпляр класса
Создание и размещение объекта 
в динамической памяти (куче)
 Оператор new

class Rectangle {
	int x1, y1, x2, y2;
}
public class Try {
	public static void main(String[ ] args) {
	       // создание объекта класса
		Rectangle r = new Rectangle();
		r.x1 = 10; r.y1 = 10; r.x2 = 100; r.y2 = 100;
	}
}
Описание слайда:
Объект-экземпляр класса Создание и размещение объекта в динамической памяти (куче) Оператор new class Rectangle { int x1, y1, x2, y2; } public class Try { public static void main(String[ ] args) { // создание объекта класса Rectangle r = new Rectangle(); r.x1 = 10; r.y1 = 10; r.x2 = 100; r.y2 = 100; } }

Слайд 11





Классы и объекты
Специальная переменная  this – 
предопределена в каждом классе
 Является стандартной ссылкой на объект,
 из которого вызывается метод
Используется 
    а) когда реально необходима:
в методе объекта выполняется обращение к члену того же объекта
объект обращается к методу другого класса и передает ссылку на себя в качестве параметра
б) для улучшения читабельности кода
Описание слайда:
Классы и объекты Специальная переменная this – предопределена в каждом классе Является стандартной ссылкой на объект, из которого вызывается метод Используется а) когда реально необходима: в методе объекта выполняется обращение к члену того же объекта объект обращается к методу другого класса и передает ссылку на себя в качестве параметра б) для улучшения читабельности кода

Слайд 12





Классы и объекты
Пример использования переменной this
// Разрешение конфликтов пространства имен 
   
Box(double width, double height, double depth) { 
   
   this.width = width; 
   this.height = height; 
   this.depth = depth; 
 }
Описание слайда:
Классы и объекты Пример использования переменной this // Разрешение конфликтов пространства имен Box(double width, double height, double depth) { this.width = width; this.height = height; this.depth = depth; }

Слайд 13





Конструктор
Создает (конструирует) экземпляр класса
Имя совпадает с именем класса
Не может быть наследован
Не имеет типа возвращаемого 
                              результата
Может иметь любой уровень доступа
Описание слайда:
Конструктор Создает (конструирует) экземпляр класса Имя совпадает с именем класса Не может быть наследован Не имеет типа возвращаемого результата Может иметь любой уровень доступа

Слайд 14





Конструкторы
Конструктор – это особый метод, 
     который автоматически вызывается 
     при создании нового объекта
Вызывается после выполнения явной или неявной инициализации полей
Конструкторов в классе может быть несколько. Они должны отличаться друг от друга списком параметров
Описание слайда:
Конструкторы Конструктор – это особый метод, который автоматически вызывается при создании нового объекта Вызывается после выполнения явной или неявной инициализации полей Конструкторов в классе может быть несколько. Они должны отличаться друг от друга списком параметров

Слайд 15





Конструкторы
Конструктор без параметров:
class A { public A(){...}	}
Если в классе не определен ни один конструктор, то компилятор создаст и вставит в байт код конструктор по умолчанию
Т.о. любой класс содержит конструктор
Описание слайда:
Конструкторы Конструктор без параметров: class A { public A(){...} } Если в классе не определен ни один конструктор, то компилятор создаст и вставит в байт код конструктор по умолчанию Т.о. любой класс содержит конструктор

Слайд 16





Конструкторы
Пример:
class Rectangle {
	int x1, y1, x2, y2;
// конструктор 1
	public Rectangle() {
		x1 = -1; y1 = -1; x2 = 0; y2 = 0;
	}
 // конструктор 2
	public Rectangle(int x1, int y1, int x2, int y2) {
		this.x1 = x1; 
		this.y1 = y1; 
		this.x2 = x2; 
		this.y2 = y2; 
	}
}
Описание слайда:
Конструкторы Пример: class Rectangle { int x1, y1, x2, y2; // конструктор 1 public Rectangle() { x1 = -1; y1 = -1; x2 = 0; y2 = 0; } // конструктор 2 public Rectangle(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; } }

Слайд 17





Конструкторы
 Если конструктор в классе не определен, компилятор создает пустой конструктор без параметров
 Из одного конструктора можно вызвать другой  конструктор того же класса
  this(<аргументы>) ;
Описание слайда:
Конструкторы Если конструктор в классе не определен, компилятор создает пустой конструктор без параметров Из одного конструктора можно вызвать другой конструктор того же класса this(<аргументы>) ;

Слайд 18





Поля класса
Определяют состояние объекта.
class Human {
	int  age = 30;
}
Human human = new Human();
System.out.println(human.age);
Описание слайда:
Поля класса Определяют состояние объекта. class Human { int age = 30; } Human human = new Human(); System.out.println(human.age);

Слайд 19





Поля и методы
Объявление полей :
[<спецификатор_доступа>] [<модификатор>] 
<тип-данных> <имя-переменной>
					/<список-переменных>;
Модификатор  static – поле существует только в классе и не принадлежит объекту 
Модификатор final – запрещает изменение значения поля, т.е. определяет константу
int x1, x2;
static int x1;        // поле класса
final double PI = 3.1415926535898   // константа
								 класса
Описание слайда:
Поля и методы Объявление полей : [<спецификатор_доступа>] [<модификатор>] <тип-данных> <имя-переменной> /<список-переменных>; Модификатор static – поле существует только в классе и не принадлежит объекту Модификатор final – запрещает изменение значения поля, т.е. определяет константу int x1, x2; static int x1; // поле класса final double PI = 3.1415926535898 // константа класса

Слайд 20





Методы класса 
Методы класса или соответствующего объекта - это функции, из которых доступны поля
Описание слайда:
Методы класса Методы класса или соответствующего объекта - это функции, из которых доступны поля

Слайд 21





Методы класса 
Определяют функциональность объектов.
class Test {
	void m() {...}
}
Test t = new Test();
t.m();
Описание слайда:
Методы класса Определяют функциональность объектов. class Test { void m() {...} } Test t = new Test(); t.m();

Слайд 22





Методы класса
Общий синтаксис для объявления методов :
[<спецификатор_доступа>] [<модификатор>]
<тип_данных> <имя_метода>(<список_параметров>)
  {
тело метода
}
Тип данных, возвращаемых методом -  любой допустимый тип, включая типы-классы либо void
Описание слайда:
Методы класса Общий синтаксис для объявления методов : [<спецификатор_доступа>] [<модификатор>] <тип_данных> <имя_метода>(<список_параметров>) { тело метода } Тип данных, возвращаемых методом - любой допустимый тип, включая типы-классы либо void

Слайд 23





Поля и методы
Пример:
class Rectangle {
	int x1, y1, x2, y2;
	public Rectangle() { …}      // код конструктора
	// Передвигает прямоугольник на dx по оси x и на dy по оси y
	public void move(int dx, int dy) {
		x1 += dx;
		x2 += dx;
		y1 += dy;
		y2 += dy;
	}
// Возвращает true, если точка (x,y) находится внутри 
							// прямоугольника
	public boolean isInside (int x, int y) {
		return x1 < x && x < x2 && y1 < y && y < y2;
	}
}
Описание слайда:
Поля и методы Пример: class Rectangle { int x1, y1, x2, y2; public Rectangle() { …} // код конструктора // Передвигает прямоугольник на dx по оси x и на dy по оси y public void move(int dx, int dy) { x1 += dx; x2 += dx; y1 += dy; y2 += dy; } // Возвращает true, если точка (x,y) находится внутри // прямоугольника public boolean isInside (int x, int y) { return x1 < x && x < x2 && y1 < y && y < y2; } }

Слайд 24





Поля и методы
Статические поля и методы 
 Принадлежат только классу, а не его экземплярам.
  Объявляются с помощью модификатора static
  Доступ к ним осуществляется с помощью имени класса
	  class Circle {
		final static double PI = 3.14159;
		…
	  }
	  ...
	d = Circle.PI * r;       //  доступ через имя класса

  У класса, все методы могут быть  статическими (например, класс java.lang.System из библиотеки Java)
Описание слайда:
Поля и методы Статические поля и методы Принадлежат только классу, а не его экземплярам. Объявляются с помощью модификатора static Доступ к ним осуществляется с помощью имени класса class Circle { final static double PI = 3.14159; … } ... d = Circle.PI * r; // доступ через имя класса У класса, все методы могут быть статическими (например, класс java.lang.System из библиотеки Java)

Слайд 25





Поля и методы
Статические поля и методы (продолжение)
  Статическим методам не передается ссылка this !!!
   Из статических методов  прямое обращение – только к статическим полям и методам своего класса!!!
Описание слайда:
Поля и методы Статические поля и методы (продолжение) Статическим методам не передается ссылка this !!! Из статических методов прямое обращение – только к статическим полям и методам своего класса!!!

Слайд 26





Поля и методы
Статические поля и методы (продолжение)
  Сложную инициализацию статических полей можно выполнить с помощью статических блоков инициализации

      static {<операторы>};
Описание слайда:
Поля и методы Статические поля и методы (продолжение) Сложную инициализацию статических полей можно выполнить с помощью статических блоков инициализации static {<операторы>};

Слайд 27





Поля и методы
Пример:
class  UseStatic {
    static int a=3;
    static int b;

    static void meth (int  x) {
        System.out.println("x =  "+x);
       System.out.println("a =  "+a);
       System.out.println("b =  "+b);
     }
     static {
	     System.out.println("Статический блок инициализирован");
                b=a*4;
      }
      public static void main (strings args[ ]) {
           meth (42);
       }
   }
Описание слайда:
Поля и методы Пример: class UseStatic { static int a=3; static int b; static void meth (int x) { System.out.println("x = "+x); System.out.println("a = "+a); System.out.println("b = "+b); } static { System.out.println("Статический блок инициализирован"); b=a*4; } public static void main (strings args[ ]) { meth (42); } }

Слайд 28





Блоки инициализации
Инициализируют объект:
class Test {
	{...}
}
Описание слайда:
Блоки инициализации Инициализируют объект: class Test { {...} }

Слайд 29





Файлы классов  
Правила создания файлов классов

 Исходные тексты классов должны 
  сохраняться в файлах с расширением .java
 В файле может быть объявлено
  несколько классов, 
 Один из классов должен иметь имя, совпадающее с именем файла и,возможно, спецификатор public
 Другие классы файла не могут иметь спецификатор public
Описание слайда:
Файлы классов Правила создания файлов классов Исходные тексты классов должны сохраняться в файлах с расширением .java В файле может быть объявлено несколько классов, Один из классов должен иметь имя, совпадающее с именем файла и,возможно, спецификатор public Другие классы файла не могут иметь спецификатор public

Слайд 30





Метод main()  

Метод main()  
  Должен присутствовать в каждом автономном приложении
Имеет  спецификатор доступа public 
   и модификатор static
  Должен иметь формальный параметр в виде строкового массива (типа String).
  Часто используется для автономного тестирования классов
Описание слайда:
Метод main() Метод main() Должен присутствовать в каждом автономном приложении Имеет спецификатор доступа public и модификатор static Должен иметь формальный параметр в виде строкового массива (типа String). Часто используется для автономного тестирования классов

Слайд 31





Метод main()  

Применение метода main() для отладки  
 class Employee {
    public Employee (String n, double s,  int year, 
    int month, int day)
    {
        name = n;
        salary = s;
        GregorianCalendar  calendar =
                     new GregorianCalendar(year, month - 1, day);
       hireDay = calendar.getTime();
     }
		. . .
       public static void main(String[ ] args) // отладочный модуль
       {
           Employee e = new  Employee ("Romeo", 50000);
           e.raiseSalary(10);
           System.out.println(e.getName() + " " + e.getSalary()) ;
        }
     }
Описание слайда:
Метод main() Применение метода main() для отладки class Employee { public Employee (String n, double s, int year, int month, int day) { name = n; salary = s; GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); hireDay = calendar.getTime(); } . . . public static void main(String[ ] args) // отладочный модуль { Employee e = new Employee ("Romeo", 50000); e.raiseSalary(10); System.out.println(e.getName() + " " + e.getSalary()) ; } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию