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

---------

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

From: Serbulent UNSAL (serbulentu@gmail.com)
Date: Sun 25 Jun 2006 - 19:58:16 GMT


Merhaba,

Hay allah yahu bende java ya farklı bir notasyon geldi sanmıştım :)
Dalgınlık işte nedense java kodu gibi göründü ilk başta. İyi günler
iyi çalışmalar.

Serbülent ÜNSAL

25.06.2006 tarihinde eralp erat <eralp_erat@hotmail.com> yazmış:
>
> 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 setLastName(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.Ciz();
> > > }
> > > 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ş şeylerin 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
> > >
> > >
> > >
>
>
> ________________________________
> With MSN Spaces email straight to your blog. Upload jokes, photos and more.
> It's free! It's free!
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>

_______________________________________________
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.