MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 10: Sınıf

Yorumlar

Transkript

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 10: Sınıf
MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ
Ders 10: Sınıf (Class) Yapıları
Yard. Doç. Dr. Alper Kürşat Uysal
Bilgisayar Mühendisliği Bölümü
[email protected]
Ders Web Sayfası: http://ceng.anadolu.edu.tr/Ders.aspx?dersId=107
1
THIS DEYİMİNİN KULLANIMI
• Bazen bir metotun içinde o metotun ait olduğu sınıftan yaratılacak
nesneyi veya o nesnenin bir alt değişkenini tanımlamak gerekir. • Nesne daha tanımlanmadığından doğrudan nesne ismini
kullanamayız. • Bunun yerina java this deyimini kullanır. • This deyimi bilhassa sınıfa ait değişken isimlerinin aynısı metotda
kullanılmışsa da işe yarar. • Bu durumda tüm sınıfa ait değişkenler this.değişken_ismi komutuyla
çağırılabilir.
2
THIS DEYİMİNİN KULLANIM ÖRNEĞİ (1. KISIM)
import javax.swing.*;
public class MetotVeSinifDeg
{
//buradaki degiskenler tum sinifa aittir
double x ;
int y ;
void metot1() //metota hiç bir değişken girmiyor
{
double x; int y;
x=5.5; y=6;
//tum sinifa at degiskenler this kelimesi ile birlikte kullanilabilirler
String s="metot1 in degiskenleri this ile ulasim : x = "+this.x+" y = "+this.y+"\n"; s+="metot1 in ic degiskenleri : x = "+x+" y = "+y;
JOptionPane.showMessageDialog(null,s); }
THIS DEYİMİNİN KULLANIM ÖRNEĞİ (2. KISIM)
public void metod2() {
x = 2.5; y = 3;
metot1(); }
public static void main(String arg[])
{
MetotVeSinifDeg w=new MetotVeSinifDeg(); w.metod2();
}
}
SINIF YAPISININ KULLANILMASINA ÖRNEK (1. KISIM)
public class KompleksSayi
{ public double gercek; public double sanal;
public KompleksSayi(double g,double s) { gercek=g; sanal=s;
}
public KompleksSayi(KompleksSayi s1) {
gercek=s1.gercek; sanal=s1.sanal; }
public void topla(KompleksSayi s1)
{ gercek+=s1.gercek; sanal+=s1.sanal; }
public static KompleksSayi topla(KompleksSayi s1,KompleksSayi s2)
{ KompleksSayi z3=new KompleksSayi((s1.gercek+s2.gercek),(s1.sanal+s2.sanal));
return z3;
}
public String toString()
{ String s=+gercek+" + i*"+sanal+" \n"; return s; } }
SINIF YAPISININ KULLANILMASINA ÖRNEK (2. KISIM)
import javax.swing.*;
public class KompleksSayiTesti {
public static void main(String args[])
{
KompleksSayi z1=new KompleksSayi(2.0,3.5);
KompleksSayi z2=new KompleksSayi(1.1,2.0); KompleksSayi z3=new KompleksSayi(z2);
z3.topla(z1);
String s="z1 = "+z1.toString()+"z2 = "+z2.toString()+"toplam z3 = "+z3.toString();
JOptionPane.showMessageDialog(null,s, "kompleks sınıfı testi",JOptionPane.PLAIN_MESSAGE); }
}
INHERITANCE (KALITIM) KAVRAMI
• Inheritance, bir class'ın başka bir class'daki property ve method'lara sahip olmasıdır. • Belli bir class, daha genel bir kavramı ifade eden class'ın üyelerine sahip olarak, onları tekrar tanımlamak zorunda kalmaz. • Bir class'ın diğerindeki özellikleri miras olarak alması için kullanılan keyword 'extends' dir. • Anlam olarak "Bu class şu class'ı 'genişletir' yani ondaki property ve methodları alır ve yenilerini ekler" demektir.
• Java dilindeki bir sınıf sadece bir tane başka sınıfın metot ve değişkenlerini kalıtım yoluyla aktarabilir.
INHERITANCE (KALITIM) KAVRAMI – ÖRNEK İLE AÇIKLAMA
public class Animal{
}
public class Mammal extends Animal{
}
public class Reptile extends Animal{
}
public class Dog extends Mammal{
}
KALITIM ÖRNEĞİ – 1. KISIM
class Box {
double width;
double height;
double depth;
Box() {
}
Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
void getVolume() {
System.out.println("Volume is : " + width * height * depth);
}
} KALITIM ÖRNEĞİ – 2. KISIM
public class MatchBox extends Box {
double weight;
MatchBox() {
}
MatchBox(double w, double h, double d, double m) {
super(w, h, d);
weight = m;
}
public static void main(String args[]) {
MatchBox mb1 = new MatchBox(10, 10, 10, 10);
mb1.getVolume();
System.out.println("width of MatchBox 1 is " + mb1.width);
System.out.println("height of MatchBox 1 is " + mb1.height);
System.out.println("depth of MatchBox 1 is " + mb1.depth);
System.out.println("weight of MatchBox 1 is " + mb1.weight);
} }
KAYNAKÇA
1. Turhan Çoban, Java Bilgisayar Diliyle Programlama.
2. http://ibrahimbilge.com/java-object-oriented-kavrami-ii/
11

Benzer belgeler

PDF

PDF • Bunun yerina java this deyimini kullanır.  • This deyimi bilhassa sınıfa ait değişken isimlerinin aynısı metotda

Detaylı