Java ile Nesne Yönelimli Programlamaya Giriş
Sani Yusuf
Lead Software Engineering Content Developer
// Soyut Car sınıfı
abstract class Car {
// Soyut drive yöntemi
abstract void drive();
// Kod uygulaması yok
}
// Toyota sınıfı Car sınıfından kalıtım alır
class Toyota extends Car {
}
// Tesla sınıfı Car sınıfından kalıtım alır
class Tesla extends Car {
}
// Lamborghini sınıfı Car sınıfından kalıtım alır
class Lamborghini extends Car {
}
@Override anahtar sözcüğü, özel yöntem uygulamaları yazmanıza olanak tanır // Soyut Car sınıfı
abstract class Car {
// Soyut drive yöntemi
abstract void drive();
// Kod uygulaması yok
}
class Toyota extends Car {
@Override // Geçersiz kılmak için kullanılır
void drive() {
// Toyota'ya özgü uygulama kodu
}
}
class Tesla extends Car {
@Override
void drive() {
// Tesla'ya özgü uygulama kodu
}
}
class Lamborghini extends Car {
@Override
void drive() {
// Lamborghini'ye özgü uygulama kodu
}
}
// ElectricCar arayüzü
interface ElectricCar {
abstract void charge();
// Kod uygulaması yok
}
@Override kullanılması önerilir
// Tesla sınıfı
// ElectricCar arayüzünü uygular
class Tesla implements ElectricCar {
// charge yöntemi uygulanmalıdır
@Override
void charge(){
// Tesla'ya özgü şarj uygulaması
// Arayüz ile seçmeli kalıtım
}
}
// Toyota sınıfı class Toyota { void drive() { // drive yönteminin ilk uygulaması }// Aşırı yüklenmiş drive yöntemi void drive(int topSpeed) { // İkinci drive uygulaması } }
// Honda sınıfı class Honda { // İlk kurucu public Honda(String color, String model) { }// İkinci kurucu public Honda(String color, String model, String licensePlate) { } }
public class Main { public static void main( String[] args) { // İlk kurucu kullanımı Honda hondaOne = new Honda("Red", "Accord");// İkinci kurucu kullanımı Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Java ile Nesne Yönelimli Programlamaya Giriş