RE: Re: Re: [Linux-programlama] oop kavramlar

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: eralp erat (eralp_erat@hotmail.com)
Date: Sun 25 Jun 2006 - 19:32:14 GMT


selam..
 
 
siz Java icin yazmissiniz onun ole oldugunu solemistim zaten.. Constructor + property ile.. ben C# daki karsiligini yazdim.. e tabi object pascal da kullanýlan keyword de write read mesela..Aslýnda baska bir amaci yok..Anders Heljsberg ve ekibi bole uygun gormus.. C# in Java ya nazaran icerdigi belli farkliliklardan biride bu.. .NET 2.0 da get ve set metodlarý içinde erisim tanýmlamasi getirtilerek daha bir kullanýlabilir hale getirildi.
 
kolay gelsin.Eralp
mcp,mcad.NET,mcsd.NET

> Date: Sun, 25 Jun 2006 19:46:53 +0300> From: serbulentu@gmail.com> To: linux-programlama@liste.linux.org.tr> Subject: Re: Re: [Linux-programlama] oop kavramlar> > Merhaba,> > Get ve Set kullanýmýnýz ilgimi çekti. Genelde aþaðadaki gibi> kullanýliyor. Sizin kullaným biçiminizde sadece constructor ile mi> eriþiliyor yada benim göremediðim baþka bazý amaçlarýmý var ?> > Serbülent ÜNSAL> > Klasik Getter/Setter örneði;> > public class Contact {> private String firstName;> private String lastName;> private String displayName;> private String email;> > public C(){}> > public C(firstName, lastName, displayName, email){> setFirstName(firstName);> setLastName(lastName);> setDisplayName(displayName);> setEmail(email);> }> > public String getFirstName() {> return firstName;> }> public void setFirstName(String value) {> firstName = value;> }> > public String getLastName() {> return lastName;> }> public void s
etLastName(String value) {> lastName = value;> }> > public String getDisplayName() {> return displayName;> }> public void setDisplayName(String value) {> displayName = value;> }> > public String getEmail() {> return email;> }> public void setEmail(String value) {> email = value;> }> > public void printInfo() {> System.out.println(this.getDisplayName() +> " <" + this.getEmail() + ">");> }> }> > 25.06.2006 tarihinde eralp erat <eralp_erat@hotmail.com> yazmýþ:> >> > selam..> >> >> > arkadaslar kendi dussellerini yansitmislar bende 1-2 sey eklemek istedim..> >> > Encapsulation ve Data Hiding icin icice gecmis bariz kavramlardir> > diyebiliriz. Yapilmak istenen sey aslinda gerekli yetkiye sahip olmayan bir> > erisimde veriyi bu erisimden gizlemektir..> > Kodla ornek vermek istersek..Burda basit bir class gormektesiniz.Burda ki> > amac private olan class uyelerine erisimi kontrol altina almaktir.
Bu> > property denilen kavram sayesinde olmaktadir.Ad ve Soyad bir> > propertydir.Java da bole bir kavram olmadigi icin bunun yerine void tipte ve> > public olan metodlar kullanilarak da islem halledilebilir.Eger istersek> > constructor olan Ogrenci() metodundan private olan uyelere olan erisimi> > kaldirabiliriz.bolelikle string tipinde olan _adi ve _soyadi elemanlari> > tamamen disaridan gizlenmis olacaktir...Yani uygulamaniz icinde birisi bu> > class a ait olan elemanlara erismek istediginde kesin suretle erisemeyecek> > hatta bu elemanlarin varligindan bile haberi olmayacaktir.> >> > public class Ogrenci> > {> > private string _adi,_soyadi=null;> > public Ogrenci():this("ad girilmemis","soyad girilmemis")> > {> > }> > public Ogrenci(string ad,string soyad)> > {> > _adi = ad;> > _soyadi = soyad;> > }> > public string Ad> > {> > get> > {> > return _adi;> > }> > set> > {> > _adi = value;> > }> > }> > public string Soyad> > {> > get> >
   {> > return _soyadi;> > }> > set> > {> > _soyadi = value;> > }> > }> >> > abstraction kismina gelecek olursak bu daha cok uygulama acisindan> > degerlendirilecek olursa benzer kavramlari bir cati altinda toplamak ve> > ilgili olan class lari bu catidan faydalandirmaktir dersek pekte yanlis> > olmaz..Aslinda bunu bole kelimelerle anlatmak yerine kodla gostersek sanirim> > daha islevsel olacagiz..(bu arada data hiding ve encapsulation kavramlarini> > anlamsal icerik olarak abstractionla paralel tutmadigimi belirtmeliyim( yani> > veriyi gizleyerek disaridan soyutlamis oluruz da denilebilir ama ben burda> > abstraction ile onu kasdetmiyorum))> >> > public interface Isekil> > {> > double kenarKalinlik> > {> > get;> > set;> > }> > ConsoleColor sekilRengi> > {> > get;> > set;> > }> > string sekilAdi> > {> > get;> > }> > void Ciz();> > }> > public abstract class baseSekil:Isekil> > {> > public baseSekil(double kenarKalinlik,ConsoleColor sekilRengi,string> > SekilAdi)> > {
> > _myColor = sekilRengi;> > _kenarKalinlik = kenarKalinlik;> > _sekilAdi = SekilAdi;> > }> > public baseSekil()> > {> > _myColor = ConsoleColor.Green;> > _kenarKalinlik = 1;> > _sekilAdi = "belirsiz";> > }> > protected double _kenarKalinlik;> > protected ConsoleColor _myColor;> > protected string _sekilAdi;> > public double kenarKalinlik> > {> > get> > {> > return _kenarKalinlik;> > }> > set> > {> > _kenarKalinlik = value;> > }> > }> > public ConsoleColor sekilRengi> > {> > get> > {> > return _myColor;> > }> > set> > {> > _myColor = value;> > }> > }> > public string sekilAdi> > {> > get> > {> > return _sekilAdi;> > }> > }> > public virtual void Ciz()> > {> > Console.WriteLine("baseSekil.ciz();");> > }> > }> > public class Ucgen:baseSekil> > {> > public Ucgen(double kenarKalinlik,ConsoleColor sekilRengi,string> > SekilAdi):base(kenarKalinlik,sekilRengi,SekilAdi)> > {> > }> > public Ucgen():base()> > {> > }> > public override void Ciz()> > {> > base.C
iz();> > }> > public void nedir()> > {> > Console.WriteLine(base._kenarKalinlik + " - "+base._myColor+" -> > "+base._sekilAdi);> > }> > }> >> > yukarida yazdigim ornek icin cok da birsey solememe gerek yok kendini> > anlatiyor zaten..biraz enteresan bir ornek olmus olabilir ama ilk aklima> > gelenlerdi iste..Kusuruma bakmayin..> >> >> > Ayrica OOP ile ilgili sevgili Serdar Koylu nun cok guzel yazilari var> > yanilmiyorsam ya gecen sene yada ondan onceki sene grupta dolasiyordu> > usenmeden sayfalarca yazilmis degerli yazilar..> >> >> > iyi calismalar.> >> > Eralp> > mcp,mcad.NET,mcsd.NET> >> >> >> >> >> > ________________________________> > Date: Sat, 24 Jun 2006 14:08:03 +0300> > From: umrankamar@gmail.com> > To: linux-programlama@liste.linux.org.tr> > Subject: Re: [Linux-programlama] oop kavramlar> >> > OOP kavramalari birbiri ile icice gecmis kavramlardir, data yi encapsulation> > ile saklar, abstraction level'lari ayrintiyi dibe itmek, dolayisiyla> > siniflamayi saglamak ve dolayisiyla data
hiding icin kullanmis olursunuz.> > Aralarinda ki kesin cizgileri cizmek yerine bu terimleri kullanmaya> > alistiginiz an, daha iyi anlamis olacaksiniz.> > Iyi calismalar Umran.> >> >> > On 6/24/06, Erkin Tek <erkintek@fotograf.web.tr> wrote:> >> > Bence yanlýþ bir öðrenme metodolojisi seçmiþiniz. Önce pratik sonra teorik> > gelmeli.> > Bir projede çalýþýrken mesela üyeyle ürünü eþleþtirmeniz gerekecek, bunu> > sadece üründen yapmak isteyceksiniz ve yanlýþlýkla dýþardan bir yerden üye> > id'sini deðiþtirceksiniz.> > bunu yapmamak için bir engele ihtiyacýnýz olacak.> > Veya ürün id'si ürünün tüm özelliklerini bulmanýza yarayacak ve id bir> > tamsayýyken tüm özellikleri yeni bir deðiþken türü olacak.> > Veya ürünlerin çok farklý özellikleri olacak ve siz tam bir genelleþtirme> > yapamayacaksýnýz. keþke diyeceksiniz küçükürünlerim olsa bir de> > büyükürünlerim olsa da bunlarýn fiyatý almak için ayrý ama ayný isimde bir> > fonksiyonum olsa diyeceksiniz.> > Sonra teori koklayýnca aradýðýnýz kafanýzda oluþmuþ þeyl
erin olduðunu> > göreceksiniz.> >> > Cumartesi 24 Haziran 2006 11:02 tarihinde, Fuat Altun þunlarý yazmýþtý:> > > Merhabalar,> > >> > >> > >> > > OOP konusunda dokumanlara bakarken 3 konu arasýnda epeyce kafam karýþtý.> > > Encapsulation-data hiding-abstraction.> > >> > > Dokumanlarda bu üçü birbirine girmiþ gibi. Encapsulation-data hiding bazý> > > kaynaklarda ayný þey diyor.> > >> > >> > >> > > Bu üç kavram arasýndaki fark konusunda bilgi verebilirseniz sevinirim.> > >> > >> > >> > > Ýyi çalýþmalar.> >> > _______________________________________________> > Linux-programlama mailing list> > Linux-programlama@liste.linux.org.tr> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama> >> >> >> >> > ________________________________> > Express yourself instantly with Windows Live Messenger> > _______________________________________________> > Linux-programlama mailing list> > Linux-programlama@liste.linux.org.tr> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama> >> >> >
_________________________________________________________________
Try Live.com: where your online world comes together - with news, sports, weather, and much more.
http://www.live.com/getstarted

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.