Μενού

Προβολή αναρτήσεων

Αυτή η ενότητα σάς επιτρέπει να δείτε όλες τις αναρτήσεις που έγιναν από αυτό το μέλος. Λάβετε υπόψη ότι μπορείτε να δείτε αναρτήσεις μόνο σε περιοχές στις οποίες έχετε πρόσβαση αυτήν τη στιγμή.

Μενού Προβολή αναρτήσεων

Μηνύματα - Unraz

#31
Python / Python: Sınıf ve Nesne Tanımlama
Αυγ 12, 2024, 01:48 ΜΜ
Python Nedir?
Python, günümüzde en popüler programlama dillerinden biridir. Basit ve sezgisel bir sözdizimine sahip olması, hem yeni başlayanlar hem de deneyimli yazılımcılar için cazip hale getirir. Python, birçok alanda—web geliştirmeden veri bilimine kadar—kullanılmaktadır. Bu esnek dil, hem güçlü kütüphaneleri hem de geniş bir topluluğa sahip olması sayesinde, projelerinizi hızlı bir şekilde geliştirmenizi sağlar.

Nesne Yönelimli Programlama (OOP) Nedir?
Nesne yönelimli programlama, yazılım geliştirme yöntemlerinden biridir ve nesneler aracılığıyla problem çözmeyi amaçlar. OOP'nin temel prensipleri arasında kapsülleme, soyutlama, kalıtım ve polimorfizm yer alır. Bu yöntem, kodun daha yönetilebilir ve esnek olmasına olanak tanır.

Sınıf Nedir?
Sınıf, bir nesnenin özelliklerini ve davranışlarını tanımlayan bir yapıdır. OOP'nin temel yapı taşı olan sınıflar, nesnelerin nasıl davranacağını belirler. Sınıf, daha sonra örneklerini (nesnelerini) oluşturabileceğiniz bir şablondur.

Sınıfların Temel Özellikleri
Sınıflar şu temel özelliklere sahiptir:

  • Kapsülleme: Sınıflar, verileri ve bu verilere erişen metodları bir arada tutar.
  • Soyutlama: Kullanıcı, sınıfın iç işleyişiyle ilgilenmeden bu sınıfın sunduğu işlevleri kullanabilir.
  • Kalıtım: Bir sınıf, başka bir sınıftan özellikleri ve metodları devralabilir.

Sınıf Tanımlama
Python'da sınıf tanımlamak oldukça basittir. Sınıflar
class anahtar kelimesi ile tanımlanır:
1class Araba:
2    pass
3

Bu örnekte,
Araba adında boş bir sınıf tanımladık. Şimdi bu sınıfa özellikler ve metodlar eklemeye başlayabiliriz.

Nesne Nedir?
Nesne, sınıfın bir örneğidir ve onu temsil eden varlık veya yapı olarak düşünülmelidir. Bir sınıf tanımladığınızda, bu sınıfın nesnelerini oluşturabilirsiniz. Nesneler, sınıfın tanımladığı özellikleri taşır ve davranışları sergiler.

Sınıf ve Nesne Arasındaki Farklar
  • Sınıf: Bir şablondur, özellikler ve metodlar tanımlar.
  • Nesne: Sınıfın bir örneğidir; sınıfın tanımladığı özellikleri ve metodları taşır.

Python'da Sınıf ve Nesne Tanımlama
Bu bölümde, Python'da sınıf ve nesne tanımlamasının nasıl yapıldığını uygulamalı örneklerle inceleyeceğiz.

Basit Bir Sınıf Tanımlama Örneği
Aşağıda basit bir
Araba sınıfının tanımını görebilirsiniz:
1class Araba:
2    def __init__(self, marka, model, yil):
3        self.marka = marka
4        self.model = model
5        self.yil = yil
6
7    def bilgi_goster(self):
8        print(f"{self.yil} model {self.marka} {self.model}")
9

Bu sınıf, bir arabanın marka, model ve yıl bilgilerini tutar.
__init__ metodu, nesne oluşturulurken çağrılır ve özelliklerin atanmasını sağlar.

Özellikler ve Metodlar
Sınıflar, özellikleri ve metodlarıyla çalışır. Özellikler, nesnenin durumunu temsil ederken; metodlar, nesnenin davranışlarını tanımlar.
1araba1 = Araba("Toyota", "Corolla", 2020)
2araba1.bilgi_goster()  # Çıktı: 2020 model Toyota Corolla
3

Getter ve Setter Kullanımı
Getter ve setter, özelliklerin kontrolünü sağlamanın yollarındandır. Özellikle veri gizliliği açısından önemlidir.
1class Araba:
2    def __init__(self, marka):
3        self.__marka = marka  # Private değişken
4
5    @property
6    def marka(self):
7        return self.__marka
8
9    @marka.setter
10    def marka(self, yeni_marka):
11        self.__marka = yeni_marka
12

Burada
marka özelliği private olarak tanımlandı ve getter/setter kullanarak erişildi.

Miras Alma (Inheritance)
Kalıtım, bir sınıfın başka bir sınıftan özellik ve metodları devralabilmesini sağlar. Bu, kodun yeniden kullanılabilirliğini artırır.

Miras Alma Örneği
Aşağıda bir
TicariAraba sınıfının
Araba sınıfından nasıl miras aldığını görebilirsiniz:
1class TicariAraba(Araba):
2    def __init__(self, marka, model, yil, kapasite):
3        super().__init__(marka, model, yil)
4        self.kapasite = kapasite
5
6    def bilgi_goster(self):
7        super().bilgi_goster()
8        print(f"Kapasite: {self.kapasite} kişi")
9

Bu örnekte,
TicariAraba sınıfı,
Araba sınıfındaki özellikleri ve metodları devraldı.

Polimorfizm
Polimorfizm, bir nesnenin birden fazla biçimi olabileceği anlamına gelir. Aynı metodun, farklı nesnelerde farklı sonuçlar vermesidir.

Polimorfizm Örnekleri
Aşağıda bir örnekle polimorfizmi görebilirsiniz:
1class Ağaç:
2    def ses(self):
3        print("Ağaç rüzgarda hışırdar.")
4
5class Kuş:
6    def ses(self):
7        print("Kuş cıvıldar.")
8
9def ses_cikar(nesne):
10    nesne.ses()
11
12a = Ağaç()
13k = Kuş()
14ses_cikar(a)  # Çıktı: Ağaç rüzgarda hışırdar.
15ses_cikar(k)  # Çıktı: Kuş cıvıldar.
16

Burada
ses metodu,
Ağaç ve
Kuş sınıflarında farklı çıktı verir.

Sınıf ve Nesne Kullanımının Avantajları
Sınıf ve nesne kullanmanın çok sayıda avantajı vardır:
  • Yeniden Kullanılabilirlik: Sınıflar bir kez tanımlanır ve tekrar tekrar kullanılabilir.
  • Organizasyon: Kod, mantıksal bir yapı içinde organize edilir.
  • Bakım Kolaylığı: Kodda değişiklik yaparken, sınıfların etkisi minimumda tutulur.

Sonuç
Python'da sınıf ve nesne tanımlama, nesne yönelimli programlamanın temel taşlarını anlamanın anahtarıdır. Bu yapılar, yazılım geliştirme sürecini daha yönetilebilir ve esnek hale getirir. OOP prensiplerini öğrenerek, daha etkili ve sürdürülebilir projeler geliştirebilirsiniz. Python'un sunduğu bu güçlü araçları kullanarak, yazılım dünyasında fark yaratmaya başlayabilirsiniz!

Sıkça Sorulan Sorular (SSS)
  • Sınıf ve nesne arasındaki fark nedir? Sınıf bir şablondur, nesne ise bu şablondan türetilmiş somut bir varlıktır.
  • Python'da sınıf nasıl tanımlanır? class anahtar kelimesi ile tanımlanır ve __init__ metodu ile başlatılır.
  • Kalıtım nedir? Bir sınıfın başka bir sınıftan özelliklerini ve metodlarını devralmasıdır.
  • Polimorfizm ne anlama gelir? Aynı metodun farklı nesnelerde farklı işler yapabilmesidir.
  • Neden sınıf ve nesne kullanmalıyım? Sınıf ve nesne kullanımı, kodun organizasyonunu artırır ve bakımını kolaylaştırır.

#32
C# / C# Kapsülleme (Detaylı Rehber)
Αυγ 12, 2024, 01:44 ΜΜ
C# Nedir?
C#, Microsoft tarafından geliştirilen modern ve güçlü bir programlama dilidir. Nesne yönelimli bir yapı sunar ve özellikle Windows uygulamaları geliştirmek için yaygın olarak kullanılır. Taşınabilirlik, hızlı geliştirme süreci ve kullanıcı dostu olması, C#'ı popüler bir seçim haline getirir. Ayrıca, C# ile yapılan uygulamalar, performans açısından oldukça verimlidir. Geliştiricilerin daha az hata ile daha fazla iş yapmasını sağlar.

Kapsülleme Nedir?
Kapsülleme, nesne yönelimli programlamada temel bir kavramdır. Bir nesnenin verilerini (özelliklerini) ve bu verilere erişen metodları (davranışlarını) bir arada tutarak, nesnenin işlevselliğini sınırlamak anlamına gelir. Yani, bir nesne içerisinde şeffaf olmayan dalgalara yol açmadan, dış dünyadan gizlenen bir veri koruma mekanizmasıdır.

Kapsüllemenin Amaçları
Kapsüllemenin çeşitli amaçları vardır. Bunlardan bazıları şunlardır:

Veri Gizliliği
Bir nesnenin verileri dışarıdan erişime kapatılır. Bu, verilerin korunmasını ve istendiğinde sadece belirli metodlar aracılığıyla erişimini sağlar. Böylece, yanlış veri girişi ve istenmeyen değişiklikler engellenmiş olur.

Kod Bakımını Kolaylaştırma
Kodun daha düzenli ve yönetilebilir olmasını sağlayarak bakım süreçlerini kolaylaştırır. Farklı bileşenlerin birbirinden bağımsız çalışmasını sağlar, böylece bir yerin değiştirilmesi diğer bölümleri etkilemez.

C#'ta Kapsülleme Nasıl Uygulanır?
C# dilinde kapsülleme uygulamak için özellikler (properties), getter ve setter metodları kullanılır.

Özellikler (Properties)
Özellikler, sınıflardaki veriler üzerinde okunabilirlik ve yazılabilirlik sağlar. Özellikler, veri erişimini kontrol etmenin etkili bir yoludur.
1public class Kisi {
2    private string ad;
3
4    public string Ad {
5        get { return ad; }
6        set { ad = value; }
7    }
8}
9

Getter ve Setter Kullanımı
Getter ve setter, özelliklerin değerini almak ve ayarlamak için kullanılır. Getter, özelliğin değerini döndürürken; setter, yeni bir değer atar. Bu, geliştiricilere yazılımın daha güvenli bir şekilde yönetilmesini sağlar.

Kapsülleme ile İlgili Örnekler
Kapsüllemeyi anlamanın en iyi yollarından biri, pratik örnekler üzerinden geçmektir.

Basit Bir Kapsülleme Örneği
Aşağıda basit bir kişi sınıfının kapsülleme yöntemi gösterilmektedir:
1public class Kisi {
2    private string isim;
3    private int yas;
4
5    public string Isim {
6        get { return isim; }
7        set { isim = value; }
8    }
9
10    public int Yas {
11        get { return yas; }
12        set {
13            if (value > 0) {
14                yas = value;
15            }
16        }
17    }
18}
19

Burada
Yas özelliği, pozitif bir değer olmasını garanti etmektedir.

Kalıtım ile Kapsülleme İlişkisi
Kapsülleme ve kalıtım, nesne yönelimli programlamanın temel taşlarıdır. Kapsülleme sayesinde, (alt sınıflarda da dahil olmak üzere) nesnelerin verileri belirli metodlarla kontrol altında tutulur.
1public class Calisan : Kisi {
2    private decimal maas;
3
4    public decimal Maas {
5        get { return maas; }
6        set {
7            if (value > 0) {
8                maas = value;
9            }
10        }
11    }
12}
13

Kapsülleme ile Hataları Azaltma
Kapsülleme, kodun içinde hataların azaltılmasına yardımcı olur. Verilerin kontrollü bir şekilde yönetilmesi, hatalı veri girilimini en aza indirir. Özellikle büyük projelerde, veri gizliliği ve erişim kontrolü sayesinde, hatalar daha kolay tespit edilir.

Kapsülleme Prensipleri
Sorumlulukların Ayrılması
Kapsülleme, farklı sorumlulukların birbirinden ayrılmasına olanak tanır. Bu, yazılımın daha modüler hale gelmesini sağlar ve bakım işlemlerini kolaylaştırır.

Bilgi Gizleme
Bilgi gizleme prensibi, dış dünyanın nesne içindeki verilere doğrudan erişmesini engeller. Bu, yazılımın güvenliği açısından kritik bir özelliktir.

Kapsülleme ile İlgili Yaygın Yanlışlar
Kapsülleme, yanlış anlaşılan bazı yanlarıyla birlikte gelir. İşte bu yanlışlar:

  • Kapsülleme ile yalnızca veri gizlenir, fakat işlevler (metodlar) açıkta kalır.
  • Kapsülleme sadece nesne yönelimli programlamaya özgüdür; aslında, tüm programlama paradigmalarında süregiden bir konsepttir.

Sonuç
C# dilinde kapsülleme, veri yönetimini kolaylaştırır ve güvenliği artırır. Kapsülleme sayesinde nesnelerinizin verilerini daha etkili bir şekilde koruyabilir, sisteminizin bakımını daha kolay yapabilirsiniz. Dikkatli bir uygulama ile, bu prensipleri kullanarak yazılımlarınızı daha sağlam hale getirebilirsiniz. Kapsülleme kelimesinin ardındaki kavramlar, yazılım geliştirmenin ne kadar önemli bir parçasıdır.

Sıkça Sorulan Sorular (SSS)
  • Kapsülleme ne işe yarar? Veri gizliliği sağlar ve kod bakımını kolaylaştırır.
  • C#'ta kapsülleme nasıl yapılır? Değişkenler private olarak tanımlanır ve getter/setter özellikleri ile erişilir.
  • Neden getter ve setter kullanmalıyım? Verinin güvenliği ve yönetilebilirliği açısından önemlidir.
  • Kapsülleme kalıtım ile nasıl ilişkilidir? Kapsülleme, sınıflar arası veri kontrolünü sağlar ve kalıtımla birlikte daha etkili çalışır.
  • Kapsülleme yalnızca nesne yönelimli programlamaya mı özgüdür? Hayır, bu kavram diğer programlama paradigmalarda da geçerlidir.

#37
Παράθεση από: Sevginur στις Μαρ 15, 2024, 12:08 ΜΜÇok zor olduğunu düşünüyordum fakat anlatımla ilgili olduğunu farkettim çok saolun

Zorlandığınız yerleri yazarak yardım istemekten çekinmeyin. Yardımcı olmaktan mutluluk duyarız. :)

Παράθεση από: Ozan στις Μαρ 15, 2024, 03:08 ΜΜmükemmel oldu öğrendim diye düşünüyorum diğer dilleri de öğrenmeye devam edicem


Kendinizi sürekli geliştirmeniz için tüm kaynakları ücretsiz olarak sizlerle paylaşmaya özen gösteriyoruz. Başarılar dileriz.  :)

Παράθεση από: hiranur26 στις Μαρ 15, 2024, 05:17 ΜΜPython'u sizle öğrenmeye başladım, sizle de ddvam edicem. 

Bizler de sizin takıldığınız noktalarda yardım etmek için burada olacağız.

İyi çalışmalar dileriz.

#38
Παράθεση από: EErol στις Μαρ 13, 2024, 02:11 ΜΜEn çok kullanılanları bir araya derlemek oldukça pratik olmuş

En pratik şekilde sizlere sunmaya özen gösteriyoruz.

İyi çalışmalar dileriz. :)
#39
Παράθεση από: Volkan2606 στις Μαρ 13, 2024, 11:53 ΠΜGerçekten de çok başarılı bir şekilde anlatmışsınız ağzına sağlık hocam yararlı bir paylaşım olmuş

Beğenmene sevindik Volkan. Teşekkür ederiz. :)

Bizi takip etmeye devam edin.
#40
Παράθεση από: Zehradan στις Μαρ 13, 2024, 11:40 ΠΜEn merak ettigim icerikti ellerinize saglik

Beğenmene sevindik Zehra. Aklınıza takılan soruları bize sormaktan çekinmeyin.

İyi forumlar dileriz.
#42
Duyurular / Web Sitemiz Unraz.com Açıldı!
Σεπ 28, 2023, 12:30 ΠΜ
Unraz[dot]com olarak size müjdeli bir haberimiz var! Uzun bir sürecin ardından web sitemiz bugün resmi olarak açıldı! Yazılım geliştirme ve yazılım öğrenme alanında bilgi ve kaynaklar sunan bu platformla artık birlikteyiz.

Unraz'da neler sunuyoruz?

Eğitici İçerikler: Unraz'da başlangıç düzeyinden ileri seviyelere kadar uzanan geniş bir eğitim kataloğu bulabilirsiniz. Makaleler, videolar, pratik alıştırmalar ve rehberler aracılığıyla yazılım geliştirmenin inceliklerini keşfedebilirsiniz.

Proje İncelemeleri: Yazılım dünyasının en popüler projelerini inceleyerek, yeni teknolojiler hakkında güncel bilgilere ulaşabilirsiniz. Kod örnekleri ve pratik adımlarla projeleri keşfetmek size ilham verebilir.

Topluluk ve İletişim: Sizi yazılım geliştirme ve öğrenme tutkusuyla bir araya getiren Unraz[dot]com'da etkileşime geçmek için birçok seçeneğiniz var. Forumlarımızda diğer üyelerle deneyimlerinizi paylaşabilir, önerilerde bulunabilir ve sorularınızı sorabilirsiniz.

Güncel Teknoloji Trendleri: Takip ettiğimiz yazılım dünyasının son trendlerini ve yeniliklerini kaçırmadan yakalayabilirsiniz. Blog yazılarımız, haberlerimiz ve güncel içeriklerimizle kendinizi güncel tutabilirsiniz.

Unraz[dot]com ailesi olarak amacımız, yazılım dünyasına ilgi duyan herkesin kendini geliştirmesine ve bilgiye kolayca erişmesine yardımcı olmaktır. Sizi web sitemize davet ediyoruz!

İyi forumlar dileriz.
Unraz ekibi.
#43
Hakkımızda / Hakkımızda | Unraz
Σεπ 28, 2023, 12:23 ΠΜ
Unraz[dot]com, yazılım geliştirme ve yazılım öğrenme alanında bilgi ve kaynaklara erişim sağlayan interaktif bir web sitesidir. Amacımız, yazılım dünyasına ilgi duyan herkes için kapsamlı bir kaynak merkezi oluşturmaktır.

Unraz'da neler sunuyoruz?

Öğrenme Kaynakları: Unraz[dot]com, başlangıç düzeyinden ileri seviyelere kadar çeşitli yazılım konularında kapsamlı öğrenme kaynakları sunar. Kapsamlı makaleler, eğitici videolar, pratik alıştırmalar ve rehberlerle kendinizi geliştirmenizi destekleriz.

Topluluk Bağlantısı: Unraz[dot]com, yazılım geliştirme ve öğrenme topluluğunun bir parçası olmanızı sağlar. Forumlarımızda diğer kullanıcılarla etkileşime geçebilir, deneyimlerinizi paylaşabilir ve sorularınızı sorabilirsiniz.

Proje İncelemeleri: Yazılım dünyasındaki en son trendleri ve teknolojileri takip ediyoruz. Unraz[dot]com'da, popüler yazılım projelerini inceleyerek, örnekler üzerinden pratik yapabilmenizi ve uygulama deneyimi kazanabilmenizi sağlarız.

İletişim ve Paylaşım: İletişim sayfamızı veya [email protected] mail adresini kullanarak bize ulaşabilirsiniz.

Ekip: Unraz'ın arkasında tutkulu bir ekip yer almaktadır. Yazılım geliştirme konusunda uzmanlaşmış ekip üyelerimiz, en son teknolojilere hakimdir ve sizlere en iyi deneyimi sunmak için sürekli olarak çalışmaktadır. Ekibimiz hakkında detaylı bilgiler için Künye sayfamızı ziyaret edebilirsiniz.

İyi forumlar dileriz.
Unraz ekibi.
#44
Hakkımızda / Künye | Unraz
Σεπ 28, 2023, 12:18 ΠΜ
İmtiyaz Sahibi
Ufuk Razkan - [email protected]

Genel Yayın Yönetmeni
Buse Gürel - [email protected]

Editörler
Ahmet Karga - [email protected]
Tunahan Mumcu - [email protected]

Hukuk İşlemleri
Avukat Ebru Pehlivan - [email protected]

Altyapı
Simple Machines Forum (SMF)

Alan Adı
SpaceShip

Hosting
Hetzner

Basın Bülteni
Kayıt olmak için «[email protected]» mail adresine basın bülteni talebinizi iletebilirsiniz.

İletişim
İletişim sayfamızdaki form üzerinden veya «[email protected]» mail adresine yazarak bize ulaşabilirsiniz.