Sınıflar ve Yapılar Arasındaki Fark

Sınıflar ve Yapılar Arasındaki Fark
Sınıflar ve Yapılar Arasındaki Fark

Video: Sınıflar ve Yapılar Arasındaki Fark

Video: Sınıflar ve Yapılar Arasındaki Fark
Video: ZEKA ve AKIL NEDİR? ZEKİ ve AKILLI İNSAN KİMDİR? 2024, Temmuz
Anonim

Sınıflar ve Yapılar

Nesneye Yönelik (OO) programlama dillerinin temel kavramlarından bazıları kapsülleme, kalıtım ve polimorfizmdir. Sınıf ve Yapı, programcıların mevcut OO programlama dillerinin çoğunda bu kavramları elde etmelerine yardımcı olan OO yapılarından/araçlarından ikisidir (Java yapılar sağlamaz). Sınıflar, gerçek dünya nesnelerinin soyut bir temsilidir. Yapılar, benzer kullanıma sahip sınıflara çok benzer, ancak sınıflara kıyasla çok az sınırlamaları vardır. Hem sınıflar hem de yapı, benzer türdeki verileri birlikte gruplamak için kullanılır.

Sınıflar nedir?

Sınıflar, gerçek dünya nesnelerinin soyut temsilini gösterirken, ilişkiler her bir sınıfın diğerleriyle nasıl bağlantılı olduğunu gösterir. Hem sınıflar hem de ilişkiler, nitelikler adı verilen özelliklere sahiptir. Sınıflardaki yöntemler, bu sınıfların davranışını temsil eder veya tanımlar. Sınıfların yöntemleri ve nitelikleri, sınıfın üyeleri olarak adlandırılır. Tipik olarak, kapsülleme, öznitelikleri özel hale getirerek ve bu özniteliklere erişmek için kullanılabilecek genel yöntemler yaratarak elde edilir. Bir nesne, bir sınıfın örneğidir. Kalıtım, kullanıcının sınıfları (alt sınıflar olarak adlandırılır) diğer sınıflardan (süper sınıflar olarak adlandırılır) genişletmesine izin verir. Polimorfizm, programcının süper sınıfının bir nesnesinin yerine bir sınıfın nesnesini değiştirmesine izin verir. Tipik olarak, problem tanımında bulunan isimler doğrudan programda sınıflar haline gelir. Benzer şekilde fiiller de metot haline gelir. Genel, özel ve korumalı, sınıflar için kullanılan tipik erişim değiştiricileridir. Bir sınıf diyagramı, sistemlerin sınıflarını, sınıflar arasındaki ilişkileri ve niteliklerini gösterir.

Yapılar nedir?

Yukarıda bahsedildiği gibi yapılar, benzer kullanıma sahip sınıflara çok benzer, ancak sınıflardan biraz daha sınırlı yeteneklerdir. Aslında sınıflar yapıların bir uzantısı olarak düşünülebilir. Örneğin, yapılar C++'daki sınıflarla aynıdır, ancak varsayılan olarak ortak üyelere sahiptirler. Bir yapı, bileşik olan bir türü temsil etmek için kullanıcı tarafından tanımlanabilir. Sınıflara benzer şekilde, yapılar birçok türe ait olabilen üyeler içerir. struct anahtar sözcüğü C ve C++'da bir yapıyı tanımlamak için kullanılırken, Structure anahtar sözcüğü. NET programlama dillerinde aynı anlamda kullanılır.

Sınıflar ve Yapılar arasındaki fark nedir?

Her ne kadar sınıflar ve yapılar programlama dillerinde bulunan benzer yapılar olsa da, aralarında küçük farklar vardır. Tipik olarak, sınıf yapının bir uzantısıdır ve bu nedenle yapıların bazı göreli sınırlamaları vardır. Örneğin, yapılar C++'daki sınıflarla aynı kabul edilebilir, ancak üyeler varsayılan olarak sınıflarda (yapılardan farklı olarak) genel değildir. Bu aslında C++'da uygun erişim değiştiricilerini kullanarak tamamen aynı özelliklere sahip bir sınıf ve yapı tanımlayabileceğiniz anlamına gelir. Ancak C'de yapılar herhangi bir işlev veya aşırı yüklenmiş işlem içeremez. Anahtar sözcükler sınıf ve yapı, sırasıyla C++'da bir sınıf ve bir yapı tanımlamak için kullanılır.. NET dilleri (C, VB. NET, vb.) söz konusu olduğunda sınıf bir referans tipi, yapı ise bir değer tipidir. Ve genellikle yapılar daha küçük nesneler için kullanılır, ancak bellekte daha uzun süre tutulan daha büyük nesneler için sınıflar kullanılır.

Önerilen: