Örnekler: 2. Bölüm

2. Bölüm – Nesne-Merkezli Programlama’nın Temelleri

Car.java ve CarTest.java
Bu örnek, bir araba soyutlamasının (abstraction) nasıl yapılacağını anlatmaktadır. Car sınıfı, gerçek dünyadaki arabaya karşılık gelmekte yani araba soyutlamasını ifade etmektedir. Car sınıfı bir çok değiskene sahip olup, müşterilerine belli hizmetler sunmaktadır. Bu cümleyi daha doğru bir şekilde, “Car sınıfından üretilen nesnelerin bir durumu ve sorumlulukları vardır” şeklinde söyleyebiliriz. CarTest ise Car sınıfının test sınıfı olup, Car sınıfından nesneler üretip onların durumlarını değiştirmekte ve onlardan hizmet almaktadır.

Burada aynı kavramın yani arabanın, farklı şekillerde soyutlanabileceğini, ortaya çıkan farklı soyutlamaların birbirlerinden farkının ise, sahip oldukları nesne değişkenleri ile nesne metotlarıyla sağlandığını gözlemleyin. Yani nesne-merkezli dillerde soyutlamalar, olgu ya da varlıkların özelliklerini oluşturan nesne değişkenleri ile davranışlarını ya da sorumluluklarını oluşturan nesne metotlarından oluşmaktadır.


package org.javaturk.oop.ch02;

/**
 * @author <a href="mailto:akin@javaturk.org">Akin Kaldiroglu</a>
 * <p>
 * For more info please @see <a href="http://www.javaturk.org">http://www.javaturk.org</a>
 * </p>
 */
public class Car {

	String make;
	String model;
	String year;
	int speed;
	int distance;
	 
	public void go(int newDistance){
		distance += newDistance;
	}
	
	public void accelerate(int newSpeed){
		speed = newSpeed;
	}
	
	public void stop(){
		speed = 0;
	}
	
	public String getInfo(){
		return "Car Info: " + year + " " + make + " " + model + ". Distance: " + distance + " km. and traveling at " + speed + " kmph.";
	}
}


package org.javaturk.oop.ch02;

/**
 * @author <a href="mailto:akin@javaturk.org">Akin Kaldiroglu</a>
 * <p>
 * For more info please @see <a href="http://www.javaturk.org">http://www.javaturk.org</a>
 * </p>
 */
public class CarTest {
	
	public static void main(String[] args) {
		
		Car car1 = new Car();
		car1.make = "Mercedes";
		car1.model = "C200";
		car1.year = "2012";
		car1.distance = 0;
		car1.speed = 0;
		
		String infoCar1 = car1.getInfo();
		System.out.println("1: " + infoCar1);
		
		car1.accelerate(80);
		car1.go(10);
		
		infoCar1 = car1.getInfo();
		System.out.println("2: " + infoCar1);
		
		car1.accelerate(120);
		car1.go(20);
		
		infoCar1 = car1.getInfo();
		System.out.println("3: " + infoCar1);
		
		
		Car car2 = new Car();
		car2.make = "Ferrari";
		car2.model = "Enzo";
		car2.year = "2012";
		car2.distance = 10;
		car2.speed = 240;
		String infoCar2 = car2.getInfo();
		System.out.println("4: " + infoCar2);
	}
}

Bu yazı toplam 5207 defa görüntülenmiştir.

Leave a Reply

*

*