Разделы презентаций


Неформальное введение в ООП

Содержание

Что такое ООП?

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

Слайд 1Неформальное введение в ООП

Неформальное введение в ООП

Слайд 2Что такое ООП?

Что такое ООП?

Слайд 3Объект Кот

Объект Кот

Слайд 4Какие свойства есть у кота?

Какие свойства есть у кота?

Слайд 5Объект Кот

Объект Кот

Слайд 6А методы?

А методы?

Слайд 7Объект Кот

Объект Кот

Слайд 8А что с другими животными?

А что с другими животными?

Слайд 9Собака

Собака

Слайд 10Сравнение свойств Кота и Собаки

Сравнение свойств Кота и Собаки

Слайд 11Сравнение методов Кота и Собаки

Сравнение методов Кота и Собаки

Слайд 12Домашние животные

Домашние животные

Слайд 13Принцип наследования

Принцип наследования

Слайд 14Схема наследования

Схема наследования

Слайд 15Несколько терминов

Несколько терминов

Слайд 16UML – диаграмма классов
UML = Unified Modeling Language

UML – диаграмма классовUML = Unified Modeling Language

Слайд 17источник вдохновения
http://www.slideshare.net/smirik/ruby-11754239

источник вдохновенияhttp://www.slideshare.net/smirik/ruby-11754239

Слайд 18Примеры с ООП

Примеры с ООП

Слайд 19Пример 1
Создать базовый класс Vehicle описывающий поведение траспортного средства. Создать

класс Auto расширяющий Vehicle методом honk() (гудеть).
Vehicle должен содержать следующие

методы:
moveForward(double speed)
moveBack(double speed)
turnLeft(double angle)
turnRight(double angle)
Vehicle должен хранить информацию о направлении движения (0 – на восток, 90 – на север, 180 – на запад, 270 – на юг), реализации методов должны выводить сообщения в консоль «Еду в направлении X со скоростью Y».
В Auto должен быть метод honk() (гудеть) – который в консоль выводит сообщение «Бииип!».

Пример 1Создать базовый класс Vehicle описывающий поведение траспортного средства. Создать класс Auto расширяющий Vehicle методом honk() (гудеть).Vehicle

Слайд 20Пример 1 - реализация
Класс-клиент:
public class Lect3Main1 {
public static void main(String[]

args) {
Auto auto1 = new Auto(0);
auto1.honk();
auto1.moveForward(20);
auto1.turnLeft(90);
auto1.turnLeft(180);
auto1.turnLeft(120);
auto1.turnRight(30);
auto1.moveBack(10);
auto1.honk();
}
}

Пример 1 - реализацияКласс-клиент:public class Lect3Main1 {	public static void main(String[] args) {		Auto auto1 = new Auto(0);		auto1.honk();		auto1.moveForward(20);		auto1.turnLeft(90);		auto1.turnLeft(180);		auto1.turnLeft(120);		auto1.turnRight(30);		auto1.moveBack(10);		auto1.honk();	}}

Слайд 21Пример 1 - вывод
Console:
Бииип!
Я еду в направлении 0.0 со скоростью

20.0
Я еду в направлении 90.0 со скоростью 20.0
Я еду в

направлении 270.0 со скоростью 20.0
Я еду в направлении 30.0 со скоростью 20.0
Я еду в направлении 0.0 со скоростью 20.0
Я еду в направлении 0.0 со скоростью -10.0
Бииип!

Пример 1 - выводConsole:Бииип!Я еду в направлении 0.0 со скоростью 20.0Я еду в направлении 90.0 со скоростью

Слайд 22Пример 1 – класс Vehicle
public class Vehicle {
private double

speed;
private double direction;

public Vehicle(double initDirection) {
direction = initDirection;
speed = 0;
}

public

void moveForward(double speed) {
this.speed = speed;
printStatus();
}

private void printStatus() {
System.out.println("Я еду в направлении " + direction
+ " со скоростью " + speed);
}


Пример 1 – класс Vehicle public class Vehicle {private double speed;private double direction;public Vehicle(double initDirection) {	direction =

Слайд 23Пример 1 – класс Vehicle (ч 2)
public void moveBack(double

speed) {
this.speed = -speed;
printStatus();
}

public void turnLeft(double angle) {
direction = direction

+ angle;
if (direction > 360) {
direction = direction - 360;
}
printStatus();
}

public void turnRight(double angle) {
direction = direction - angle;
if (direction < 0) {
direction = direction + 360;
}
printStatus();
}
}

Пример 1 – класс Vehicle (ч 2) public void moveBack(double speed) {	this.speed = -speed;	printStatus();}public void turnLeft(double angle)

Слайд 24Пример 1 – класс Auto
public class Auto extends Vehicle {

public

Auto(int direction) {
super(direction);
}

public void honk() {
System.out.println("Бииип!");
}

}

Пример 1 – класс Autopublic class Auto extends Vehicle {	public Auto(int direction) {		super(direction);	}	public void honk() {		System.out.println(

Слайд 25UML – диаграмма классов
UML = Unified Modeling Language

UML – диаграмма классовUML = Unified Modeling Language

Слайд 26Пример 2 – перевод числа из 10-й системы счисления в

2-ую
Пример:
N = 12
N % 2 = 12 % 2 =

0  0 N = N / 2 = 12 / 2 = 6 N > 0 +
N % 2 = 6 % 2 = 0  0 N = N / 2 = 6 / 2 = 3 N > 0 +
N % 2 = 3 % 2 = 1  1 N = N / 2 = 3 / 2 = 1 N > 0 +
N % 2 = 1 % 2 = 1  1 N = N / 2 = 1 / 2 = 0 N > 0 -

Полученные цифры нужно вывести в обратном порядке:
1100

Пример 2 – перевод числа  из 10-й системы счисления в 2-уюПример:N = 12N % 2 =

Слайд 27Пример 2 – реализация через StringBuilder
public class Class4 {
public static

void main(String[] args) {
int num = 49;
StringBuilder str = new

StringBuilder();
do {
int binDigit = num % 2;
char binChar = binDigit == 0 ? '0' : '1';
str.append(binChar);
num = num / 2;
} while (num > 0);
str.reverse();
System.out.println(str.toString());
}
}
Пример 2 – реализация через StringBuilderpublic class Class4 {	public static void main(String[] args) {		int num = 49;		StringBuilder

Слайд 28Пример 2 – реализация через стек
public class Class4_1 {
public static

void main(String[] args) {
int num = 129;
StackChar stack = new

StackChar(32);
do {
int binDigit = num % 2;
char binChar = binDigit == 0 ? '0' : '1';
stack.push(binChar);
num = num / 2;
} while (num > 0);
while (!stack.isEmpty()) {
System.out.print(stack.pop());
}
System.out.println();
}
}
Пример 2 – реализация через стекpublic class Class4_1 {	public static void main(String[] args) {		int num = 129;		StackChar

Слайд 29реализация стека
public class StackChar {
private char [] stack;
private int top;

public

StackChar(int size) {
stack = new char[size];
top = 0;
}

public void push(char

ch) {
stack[top] = ch;
top++;
}


}
реализация стекаpublic class StackChar {	private char [] stack;	private int top;	public StackChar(int size) {		stack = new char[size];		top =

Слайд 30реализация стека (ч 2)
public class StackChar {
private char [] stack;
private

int top;



public char pop() {
top--;
return stack[top];
}

public boolean isEmpty() {
return top

== 0;
}
}
реализация стека (ч 2)public class StackChar {	private char [] stack;	private int top;	…	public char pop() {		top--;		return stack[top];	}	public boolean

Слайд 31Детали ООП в Java

Детали ООП в Java

Слайд 32Модификаторы доступа
private: члены класса доступны только внутри класса;
«default» (package-private) (модификатор,

по-умолчанию): члены класса видны внутри пакета;
protected: члены класса доступны внутри

пакета и в наследниках;
public: члены класс доступны всем;

Модификаторы доступаprivate: члены класса доступны только внутри класса;«default» (package-private) (модификатор, по-умолчанию): члены класса видны внутри пакета;protected: члены

Слайд 33Модификаторы доступа
static - ссылка этого поля у любого экземпляра класса

будет ссылаться на одно и то же значение
final – это

модификатор, позволяющий объявлять константные поля в классе.

Модификаторы доступаstatic - ссылка этого поля у любого экземпляра класса будет ссылаться на одно и то же

Слайд 34Элементы класса
public class Sample {
private int x; //

переменная экземпляра класса
private int y = 0; //

переменная экземпляра класса
public final int CURRENT_YEAR = 2012; // константа
protected static int bonus; // переменная класса
static String version = "Java SE 7"; // переменная класса
protected Calendar now;
public int method(int z) {
return z++;
}
}
Элементы классаpublic class Sample {  private int x; // переменная экземпляра класса  private int y

Слайд 35Примеры использования статических методов
public class Class3 {
public static void main(String[]

args) {
double phi = Math.PI / 6;
System.out.printf("sin(%f)=%f\n", phi, Math.sin(phi));
phi =

Math.PI / 4;
System.out.printf("tan(%f)=%f\n", phi, Math.tan(phi));
phi = Math.PI / 2;
System.out.printf("tan(%f)=%f\n", phi, Math.tan(phi));
System.out.printf("sin(%f)=%f\n", phi, Math.sin(phi));
System.out.printf("cos(%f)=%f\n", phi, Math.cos(phi));
}
}
Примеры использования статических методовpublic class Class3 {	public static void main(String[] args) {		double phi = Math.PI / 6;		System.out.printf(

Слайд 36Домашнее задание
Создать класс определенной фигуры (дом, машина, самолет или

что-то другое). Также создать методы управление фигурой – перемещения вверх,

вниз, влево, вправо.
Домашнее задание Создать класс определенной фигуры (дом, машина, самолет или что-то другое). Также создать методы управление фигурой

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика