Programlama paradigmaları, yazılım oluşturmak için kullandığınız farklı dilleri şekillendirmeye yardımcı olan teoriler veya fikirlerdir. Bir programlama dilinin ana özelliklerini temsil ederek davranışını dikte ederler.
Bu nedenle, bir paradigmanın bir programlama dilinin sözdizimi ve semantiği kadar önemli olduğunu söylemek güvenlidir. En popüler programlama dilleri, birkaç programlama paradigmasından birini kullanır.
1. Zorunlu Programlama
Zorunlu paradigma, programlamaya 1950'lere kadar giden en eski yaklaşımlardan biridir. Bu paradigma, büyük ölçüde değişkenlerin, komutların ve prosedürlerin kullanımına dayanır.
Zorunlu programlama, değişkenleri incelemek ve güncellemek için komutları kullanır, durumu bir programda saklar. Komutların bir kombinasyonu daha sonra bir prosedür oluşturur. Veri soyutlama, veri gösteriminde gevşek bağlantıyı kolaylaştıran çok önemli bir rol oynar.
Zorunlu paradigmayı kullanan en popüler dillerden biri C'dir. Bu programlama dili yalnızca işlev prosedürlerini destekler.
Zorunlu Bir Program Örneği
#Dahil etmek
#Dahil etmekyapı Müşteri
{
int Müşteri Kimliği;
char Sipariş Numarası[20];
karakter Adı[30];
yüzer SiparişToplam;
};boş ana ()
{
struct Müşteri John = {4000, "HK1001", "John Doe", 200.00};
struct Müşteri Jane = {4001, "HK1002", "Jane Doe", 600.00};memcpy (Jane. İsim, "Jane Jones", 10);
printf ("%s sipariş numarası %s için toplam maliyet: $%.2f",Jane. Adın, Jane. Sipariş Numarası, Jane. Sipariş toplamı);
}
Yukarıdaki C programı bir Müşteri yapı. bu yapı type, C'deki veri soyutlamanın başlıca örneğidir.
Program, komutların durumu nasıl oluşturabileceğini, güncelleyebileceğini ve görüntüleyebileceğini gösterir. Jane yapı değişkeni. Tüm bu komutlar bir ana() Bir bütün olarak müşterinin bir sipariş için ne kadar para ödemesi gerektiğini belirten bir prosedür olan fonksiyon.
Yukarıdaki programı çalıştırmak, konsolunuzda aşağıdaki çıktıyı üretecektir:
Jane Jones sipariş numarası HK1002 için toplam maliyet: 600,00 $
2. Nesne yönelimli programlama
Nesne yönelimli programlama paradigması 1990'larda başladı. Bu paradigma, zorunlu olanın soyundan gelmektedir. Ancak, nesne yönelimli paradigma, durumu değişkenlerde değil nesnelerde saklar.
Nesne yönelimli paradigmayı kullanan programlama dilleri genellikle karmaşık uygulamaları daha iyi yönetir. Paradigmanın temel özellikleri nesneler, sınıflar, veri kapsülleme, kalıtım ve polimorfizmdir.
Sınıf, nesne yönelimli bir programın temel bileşenidir. Bazı sınıflar, özellikleri ve işlemleri diğer sınıflardan devralır. Programcılar bunu ebeveyn-çocuk ilişkisi olarak tanımlar. Alt tip polimorfizm kategorisine girer.
Sınıflar, hassas verileri kapsülleme yoluyla gizlemeye ve korumaya yönelik araçlar içerir. Bir sınıf tanımladıktan sonra onu nesneler oluşturmak için kullanabilirsiniz.
Nesne yönelimli paradigmayı kullanan en popüler programlama dillerinden üçü Java, C++ ve Python'dur.
Nesne Yönelimli Program Örneği
Bu uygulama, nesne yönelimli bir programlama dili olan Java'nın özelliklerinin çoğunu gösterir. Belirli bir müşteri türü, davranışı daha genel bir türden devralır. Tüm müşteriler bir arayüz uygular. Belirli müşteri türü, arabirimdeki bir yöntemi geçersiz kılar.
İndirimli.java Dosyası
halka açıkarayüz indirimli {
halka açıkgeçersiz grandTotal (String orderNumber, çift Toplam);
}
Yukarıdaki kod bir arayüz oluşturur. Java'da bir arayüz başka bir polimorfizm örneği. gibi aynı özelliklere erişmek için doğrudan ilişkili olmayan varlıkların izin verir. Genel Toplam yöntem. Bu uygulama müşterilere odaklanır, ancak bir çalışan sınıfı da İndirimli arabirimi kullanabilir.
Müşteri.java Dosyası
halka açıksınıf Müşteri uygular indirimli {
korumalıint Müşteri Kimliği;
korumalı müşteriAdı dizesi;
korumalı Müşteri Kodu dizesi;halka açık Müşteri() {
Bugün nasılsın.customerId = 0;
Bugün nasılsın.müşteriAdı = "";
Bugün nasılsın.customerCode = "";
}halka açık Müşteri(int müşteri Kimliği, Dize müşteriAdı, Dize müşteriKodu) {
Bugün nasılsın.customerId = müşteri kimliği;
Bugün nasılsın.müşteriAdı = müşteriAdı;
Bugün nasılsın.customerCode = müşteriKodu;
}halka açıkint getCustomerId() {
dönüş Müşteri Kimliği;
}
halka açıkgeçersiz setCustomerId(int Müşteri Kimliği) {
Bugün nasılsın.customerId = müşteri kimliği;
}
halka açık String getCustomerName() {
dönüş müşteri adı;
}
halka açıkgeçersiz setCustomerName (Dize müşteriAdı) {
Bugün nasılsın.müşteriAdı = müşteriAdı;
}
halka açık Dize getCustomerCode() {
dönüş müşteri kodu;
}halka açıkgeçersiz setCustomerCode (Dize müşteriKodu) {
Bugün nasılsın.customerCode = müşteriKodu;
}halka açıkçift müşteriTürü (Dize müşteriKodu) {
çift indirim = 0;Eğer (customerCode.toLowerCase().equals("pre")) {
indirim = 0.10;
} BaşkaEğer (customerCode.toLowerCase().equals("gen")) {
indirim = 0.02;
} BaşkaEğer (customerCode.toLowerCase().equals("yeni")) {
indirim = 0,05;
}
dönüş indirim;
}@Geçersiz kıl
halka açıkgeçersiz grandTotal (String orderNumber, çift Toplam) {çift indirim = müşteriTürü (müşteriKodu);
çift indirimYüzdesi = toplam * indirim;
çift finalToplam = toplam - indirimYüzdesi;Sistem.dışarı.println("+ getCustomerName() + " sipariş Numarası " + orderNumber + " için genel toplam: $" + finalToplam);
}
}
Yukarıdaki kod bir Müşteri sınıf. Şunları uygular: indirimli arayüzü, ardından müşterinin kategorisine göre genel bir toplamı hesaplamak ve görüntülemek için yöntemini kullanır. bu korumalı yukarıdaki koddaki anahtar kelime, veri kapsülleme örneğidir; bu sınıf aracılığıyla oluşturulan verilere erişimi kısıtlar. Bu nedenle, yalnızca alt sınıflar (veya alt sınıflar) Müşteri sınıfın verilerine erişimi olacaktır.
NewCustomer.java Dosyası
halka açıksınıf Yeni müşteri uzanır Müşteri {
halka açık Yeni müşteri() {
Süper();
}halka açık Yeni müşteri(int müşteri Kimliği, Dize müşteriAdı, Dize müşteriKodu) {
Süper(müşteriKimliği, müşteriAdı, müşteriKodu);
}
}
Yukarıdaki kod bir Yeni müşteri genişleten sınıf Müşteri sınıf. Bu Java sınıfı kalıtım kullanır ile bir ebeveyn-çocuk ilişkisini temsil etmek için Müşteri sınıf. bu Yeni müşteri ilişkideki çocuktur, dolayısıyla Müşteri sınıfındaki tüm özelliklere erişimi vardır. Müşteri sınıfı özniteliklerini aşağıdakileri kullanarak içe aktarır: Süper() yöntem.
App.java Dosyası
halka açıksınıf Uygulama {
halka açıkstatikgeçersiz main (String[] argümanlar) {
Müşteri Jane = yeni YeniMüşteri (4001, "Jane Jones", "yeni");
Jane.grandTotal("HK1002", 600);
}
}
Yukarıdaki kod yürütülebilir bir dosya oluşturur Uygulama sınıf. Bu sınıf bir Müşteri nesnesi (Jane) yaratır ve polimorfizm aracılığıyla Jane'i bir Yeni müşteri. Son olarak, Jane'in siparişi için genel toplamı oluşturur. Yukarıdaki programı yürütmek, konsolda aşağıdaki çıktıyı üretecektir:
Jane Jones sipariş Numarası HK1002 için genel toplam: 570.0 $
3. Fonksiyonel Programlama
Bu paradigmanın anahtar kavramları ifadeler, fonksiyonlar, parametrik polimorfizm ve veri soyutlamasıdır. İfadeler, işlevsel programlama dilleri tarafından kullanılan işlevlerin temel bileşenleridir. Parametrik polimorfizm, üç tip polimorfizmden biridir. Bu tür, işlevler ve türler aracılığıyla genel programlamayı kolaylaştırır.
JavaScript, en popüler işlevsel programlama dillerinden biridir.
İşlevsel Bir Program Örneği
const Müşteri = {
Kimlik Numarası: 1002,
İsim: 'Jane Jones',
Müşteri Kodu: 'yeni'
}const ana = (müşteri, işlev, değer) => {
var total = func.apply (null, [ müşteri. MüşteriKodu, değer ]);
konsol.log(`${müşteri. Ad} toplamı: ${total}`);
}const grandTotal = (MüşteriKodu, toplam) => {
if (MüşteriKodu == "yeni") {
indirim = toplam * 0,05;
mainToplam = toplam - indirim;
ana Toplamı döndür;
} else if (MüşteriKodu == "ön") {
indirim = toplam * 0.10;
mainToplam = toplam - indirim;
ana Toplamı döndür;
}
}
ana (Müşteri, genelToplam, 600);
Yukarıdaki JavaScript programında bir nesne değişmezi ve iki fonksiyon. İşlevlerin her birini kullanarak bir ifade olarak bildirir. JavaScript ok işlevi. bu ana() fonksiyon üst düzey bir fonksiyondur. alır Genel Toplam argümanlarından biri olarak işlev görür, ardından bu işlevi çağırır. Bu aynı zamanda parametrik polimorfizmin bir örneğidir.
bu Genel Toplam() işlev birkaç ifade içerir ve Müşterinesne bir veri soyutlaması örneğidir. Yukarıdaki program konsolda aşağıdaki çıktıyı üretir:
Jane Jones toplamı: 570$
Programlama Dillerinin Karmaşıklığı
Bir programlama dili, bir programlama paradigmasının kavramlarını içerebilir, ancak bu, onun bir paradigma ile sınırlı olduğu anlamına gelmez. Popüler programlama dillerinin çoğu (Python, Java, JavaScript ve C++ gibi) çok paradigmalı dillerdir.
Zorunlu ve nesne yönelimli paradigmalar gibi bazı programlama paradigmaları da ilişkilidir. Ancak bu akrabalığa rağmen, bazı önemli farklılıklar vardır.
Nesne Yönelimli Programlama vs. Prosedürel Programlama: Onları Farklı Kılan Nedir?
Sonrakini Oku
İlgili konular
- Programlama
- Programlama
- Fonksiyonel Programlama
- Nesne yönelimli programlama
- Programlama dilleri
Yazar hakkında
Kadeisha Kean, Full-Stack Yazılım Geliştirici ve Teknik/Teknoloji Yazarıdır. En karmaşık teknolojik kavramların bazılarını basitleştirme konusunda belirgin bir yeteneğe sahiptir; herhangi bir teknoloji acemi tarafından kolayca anlaşılabilecek malzeme üretmek. Yazmak, ilginç yazılımlar geliştirmek ve dünyayı gezmek (belgeseller aracılığıyla) konusunda tutkulu.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın