Nesne yönelimli programlama (OOP) hakkında..?

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,204
Ptyhon için şurada temiz bir anlatım var : https://dev.to/aciklab/python-da-sinif-kavrami-27je

Ben bu nesne olayını anlayamıyorum. Aslında anlıyorum sadece nerede ihtiyacım olur benim ne işime yarar bunu öngöremiyorum. Bu konu hakkında bir sürü şey okumama rağmen hala kafamda konuyu oturtamadım. Tamam herşey aslında arka planda bir nesne ve bunların fonksiyonlarını kullanıyoruz ama ben neden yeni bir nesne/sınıf yaratmalıyım benim pratikte ne işime yarar?

Bu konu hakkında en cezbedici bilgi projenin birden çok programcı arasında paylaştırılmasının mümkün olması hakkında duyduklarım idi.

Bu konuyu bana basit bir şekilde açıklayacak biri varmı?

Hadi hayali bir proje düşünelim ve projenin bir kısmını bir bır kısmını bir başkası yapsın. böyle bir şeymi?

konu anlatımlarında genelde personel adlı bir sınıf oluşturulup tanımlamalar yapılıyor ama sağlanan avantajı ben göremiyorum.
Personel takip programı yazsam sql bağlar istediğim gibi veri analizi yaparım... :cheeky2:

Kesinlikle gereksiz bir konu şeklinde düşünmüyorum, Sadece bana sağlayacağı avantajların farkına varamıyorum. varmak istiyorum....
 
Şöyle örnek verelim. Seri portla haberleşme sağlayan bir programın var. RS232 içeren bir haberleşme sınıfı yazdın, artık her ihtiyacın olduğunda bu sınıfı çağırıp kullanırsın. Bir daha böyle bir şey düşünmeme gerek kalmaz. Aynı sınıfı bende kullanabilirim. Hatta ben bu haberleşme sınıfına USB eklendiğimde, artık programımız hem USB hem de RS232 haberleşmeye başlar.

Aynı şekilde bu seri haberleşme yazılımında başkasının sınıfını kullansa idin muhtemelen şu an o programda başka alanlara daha çok zaman ayırırdın.

Burada güzel bir ilerleme sağlanacak metot elde etmiş oluyorsun. Öyle olmasa Arduino kütüphanesi çekip konuya çok da vakıf olmayan kişilere motor sürmek gibi işlevleri modüller halinde yaptiramazdin. Diğer türlü herkesin motor sürerken her defasında kendi çözümlerini bulması gerekir.

Arduino gibi bir platformda kütüphane kullanılarak birşeyler yapıyorsan zaten faydasını görüyorsun ama farkında değilsin demektir. Özellikle programın kapsamı genişledikçe (programın büyümesi farklı bir kavram) çok fayda elde etmeye başlıyorsun.
 
C++ dilinin C ye göre üstünlüklerini anlattığım bir konu var, orada nesne yönelimli programlamanın faydalarından biraz bahsetmiştim. C++ da konu çok geniş, olayı sadece sınıf yapma olarak düşünürsen olayın sadece %10 unu gözönüne bulundurmuş olursun. Python'daki nesnel programlama hakkında bilgim yok, ama C++ da OOP nin yarattığı fayda gece ve gündüz kadar bariz.

 
Nesnel programlama nispeten büyük ölçekli ve karmaşık programlarda fayda sağlıyor.
 
Pythinda qt ile arayuz olusturmayi deniyorum. Gui designer ile denedim oldu. Kod yazarak denedim oldu. Ancak isin icine siniflar objeler girmeye basladi. Anlamaya calisiyorum. Mesela textbox a birsey girerken esc ye basinca su fonk. Çalışsın olayini yapamadim henuz.

Visual studio da bu islerin hepsi cok kolay oluyordu nerde kaldi python un kolaylığı :cheeky2:
 
Kod:
class elemanlar():
       renk=[]
       tip=[]

a = elemanlar()

a.renk="kırmızı"


şimdi bu kod yapısında a nedir nesne mi?
 
"class" yapıyı tanımlar, "object" ise o yapının gerçekleştirilmiş halidir. Mesela "devre şeması" devrenin elektriksel yapısını tanımlar, sonra da seri üretimde o devreden 10 tane "devre" üretirsin.
 
"class" yapıyı tanımlar, "object" ise o yapının gerçekleştirilmiş halidir. Mesela "devre şeması" devrenin elektriksel yapısını tanımlar, sonra da seri üretimde o devreden 10 tane "devre" üretirsin.

o zaman verdiğim kod orneğinde a için elemanlar sınıfından üretilmiş bir nesne dersek doğru bir ifade mi olur?
 
Bu oop tek lokmalik bir konu degilmis onu anladim. Ama bugun epey yol aldim miras alma konusu ile ilgili orneklerde yaparsam python tarafinda konuyu %99 halledecegim sanirim.

Simdi bir sey daha sormak istiyorum. Oop ile kütüphane dosyalarinin ilişkisi nedir?

Kutuphane dosyasi program a dahil edilen kod parcasi ise, oop yontemi ile veya normal bir sekilde kodlanmış olabilir. Doğru mu?
 
  • Beğen
Reactions: nt
@Endorfin35+ Öncelikle özürdilerim bu konuyu görmeden açtım python oop u

Evet, doğru düşünüyorsunuz. Nesne yönelimli programlama (OOP) ve kütüphane dosyaları ilişkili konseptlerdir ancak farklı alanlarda kullanılırlar.
Hiç sorun değil. Ben python u öğrendim ve çoktan unuttum... Yani forumda uzman sensin. Pythonun bana en büyük katkısı oop konusunu öğrenmemi sağladı. Şu an dil farketmeksizin oop kullanabiliyorum.

Ayrıca C++, python dan daha güzel bence... :cheeky3:
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,890
Mesajlar
100,557
Üyeler
2,494
Son üye
yasin533

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Back
Top