MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 11: Sınıf (Class) Yapıları (Örnekler) Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=107 1
ERİŞİM DEĞİŞTİRİCİ (ACCESS MODIFIER) KAVRAMI public, private ve protected olarak 3 adet access modifier den bahsedeceğiz. Bunlara ek olarak hiçbir access modifier yazmadığınız durumlarda ne olduğuna da değineceğiz. Aşağıdaki örnek tüm olayı özetleyecektir. Öncelikle 4 adet class olsun; MyClass YourClass MySubClass TheirClass
ERİŞİM DEĞİŞTİRİCİ (ACCESS MODIFIER) KAVRAMI package firstpackage; class MyClass { //* my fields here public int x; private string y; protected double z; int t; package secondpackage; class MySubClass extends MyClass { //* my sub class body goes here package firstpackage; class YourClass { //* your class body //goes here package secondpackage; class TheirClass { //* their class body //goes here
ERİŞİM DEĞİŞTİRİCİ (ACCESS MODIFIER) KAVRAMI Yukarıdaki 4 class ın MyClass class ındaki x, y, z ve t değişkenlerine erişimleri şu şekildedir; Değişken MyClass YourClass MySubClass TheirClass X + + + + Y + Z + + + T + +
SINIF KULLANIM ÖRNEĞİ (BİSİKLET SINIFI) public class Bisiklet { public int pedaldakikadatursayisi; public int vites; public int hiz; public Bisiklet(int baslangictursayisi, int baslangichiz, int baslangicvites) { vites = baslangicvites; pedaldakikadatursayisi = baslangictursayisi; hiz = baslangichiz; public void tursayisiayarla(int yenideger) { pedaldakikadatursayisi = yenideger; public void vitesayarla(int yenideger) { vites = yenideger; public void frenebas(int dusenhiz) { hiz = dusenhiz; public void hiziarttir(int artismiktari) { hiz += artismiktari;
SINIF KULLANIM ÖRNEĞİ (DAĞ BİSİKLETİ SINIFI) public class DagBisikleti extends Bisiklet { // Dag bisikletinde fazladan bir alan olsun public int koltukyuksekligi; // the MountainBike subclass has one constructor public DagBisikleti(int baslangicyukseklik, int baslangictursayisi, int baslangichiz, int baslangicvites) { super(baslangictursayisi, baslangichiz, baslangicvites); koltukyuksekligi = baslangicyukseklik; // Dag bisikletinde fazladan bir metot olsun public void setheight(int yenideger) { koltukyuksekligi = yenideger;
SINIF KULLANIM ÖRNEĞİ (DAĞ BİSİKLETİ SINIFI) public class BisikletTesti { public static void main(string args[]) { //create the objects of Bicycle & mountainbike Bisiklet B = new Bisiklet(10,20,30); DagBisikleti m = new DagBisikleti(1,2,300,4); // for Bicycle System.out.println("Bisikleti Hızı " + B.hiz); B.hiziArttir(7); System.out.println("Bisikletin Yeni Hızı " + B.hiz); System.out.println("Dağ bisikletinin Hızı " + m.hiz); m.hiziarttir(7); System.out.println("Dağ bisikletinin Yeni Hızı " + m.hiz);
SINIF KULLANIM ÖRNEĞİ (ANIMAL SINIFI) class Animal { public void eat(string str) { System.out.println("Eating for grass"); class Cat extends Animal { public void eat(string str) { System.out.println("Drinking for milk"); class Dog extends Animal { public void eat(string str) { System.out.println("Eating for bread");
SINIF KULLANIM ÖRNEĞİ (ANIMAL SINIFI) class Goat extends Animal { public void eat(string str) { System.out.println(""); public class AnimalTest { public static void main(string[] args) { Animal a = new Animal(); Cat b = new Cat(); Dog c = new Dog(); Goat d = new Goat(); a.eat("grass"); b.eat("milk"); c.eat("bread"); d.eat("grass");
SINIF KULLANIM ÖRNEĞİ (ROBOT SINIFI) public class Robot { public void start() { System.out.println("Robot started."); public void work() { System.out.println("Robot working."); public void stop() { System.out.println("Robot stopped.");
SINIF KULLANIM ÖRNEĞİ (ROBOT SINIFI) public class WasteDisposalRobot extends Robot { public void findwaste() { System.out.println("Finding waste"); public class RobotTest { public static void main(string[] args) { Robot robot1=new Robot(); robot1.start(); robot1.stop(); WasteDisposalRobot robot2 = new WasteDisposalRobot(); robot2.start(); robot2.findwaste(); robot2.stop();
KAYNAKÇA 1. Turhan Çoban, Java Bilgisayar Diliyle Programlama. 2. Starting Out with Java 5th Edition (Tony Gaddis): From Control Structures through Objects. 3. http://ibrahimbilge.com/java-object-oriented-kavrami-ii/ 4. http://www.caveofprogramming.com/frontpage/articles/javatutorial/java-tutorial-5- inheritance-and-polymorphism/ 12