Orientação a objetos
Software II
Introdução à orientação à objetos através de exemplos práticos Conteúdo programático
Objetos
Classes
Sobrecarga de métodos
Construtores
Herança
Interfaces
Classes abstratas
Polimorfismo
2
Objetos
3
Objeto Bicicleta
4
Classes class Bicycle { int cadence = 0; int speed = 0; int gear = 1; void changeCadence(int newValue) { cadence = newValue;
}
void changeGear(int newValue) { gear = newValue;
}
5
Classes void speedUp(int increment) { speed = speed + increment;
}
void applyBrakes(int decrement) { speed = speed - decrement;
}
}
void printStates() {
System.out.println("cadence:"+cadence+"
speed:"+speed+" gear:"+gear);
}
6
Classes class BicycleDemo { public static void main(String[] args) {
// Create two different Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects bike1.changeCadence(50); bike1.speedUp(10);
}
}
bike2.changeCadence(50); bike2.speedUp(10); bike2.changeGear(2);
7
Instâncias de classes public class ADogsLife { public static void main(String[] args) {
Dog dog = new Dog(); dog.bark(); System.exit(0);
}
}
8
Instâncias de classes
9
Sobrecarga de métodos class Dog { void bark() {
System.out.println("Woof.");
}
}
void bark(String barkSound) {
System.out.println(barkSound);
}
10
Sobrecarga de métodos public class DogChorus { public static void main(String[] args) {
Dog fido = new Dog();
Dog spot = new Dog(); fido.bark(); spot.bark("Arf. Arf."); fido.bark("Arf. Arf.");
System.exit(0);
}
}
11
Construtores class LessonTwoD {
String text;
//Constructor
LessonTwoD(){ text = "I'm a Simple Program";
}
//Accessor method
12
Construtores
String getText(){ return text;
}
}
public static void main(String[] args){
LessonTwoD progInst = new LessonTwoD();
String retrievedText = progInst.getText();