İçeriğe atla

Soyutlama (bilgisayar bilimi)

Bilgisayar bilimlerinde soyutlama, daha çok nesne yönelimli programlama ile ön plana çıkar. Nesne tanımlanırken verinin kulanılması veya veriye erişilmesi için gerekli detayların azaltılması işlemidir.

Soyutlama kabaca veri (İngilizcedata) ve kontrol (İngilizcecontrol) soyutlaması olarak yapılır. Veri soyutlaması, veri yapıları üzerinde yapılan soyutlamadır. Kontrol soyutlaması ise yapısal programlama ile gelen altprogram (İngilizcesubprogram), işlev (İngilizcefunction) gibi kavramlar üzerinde yapılan soyutlamadır.

Örnek olarak bir "kişi" nesnesinde, kişinin yaşını tutan bir tam sayı değişkeni olan "yas" değişkenini ele alalım. Bu "yas" değişkenine, programın çalıştırma anında, "-10" gibi bir değer atanmasını kimse engelleyemez. İşte burada nesne yönelimli programlamanın getirdiği görünürlük (İngilizcevisibility) ve özellik (İngilizceproperty) tanımlama gibi yetenekler kullanarak "yas" değerine gerçek bir değerin girilmesi garanti edilebilir. İşte buna veri soyutlaması adı verilir.

Benzer şekilde soyutlama işleminin verileri taşıyan değişkenlerin değil de yöntem (İngilizcemethod) veya işlevlerin üzerinde yapılması işlemine kontrol soyutlaması adı verilir. Yani yöntem ile yapılan işlemlerin bir başka nesne tarafından müdahale edilemeyecek hale sokulması işlemidir.

Kaynakça

Ayrıca bakınız

  • Sarma (Bilgisayar Bilimleri)

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

Bilişim, bilişim bilimi ya da bilgisayar bilimi, bilgi ve hesaplamanın kuramsal temellerini ve bunların bilgisayar sistemlerinde uygulanabilmeleri sağlayan pratik teknikleri araştıran bir yapısal bilim dalıdır. Bilişimciler ya da bilgisayar bilimcileri bilgi oluşturan, tanımlayan ve dönüştüren algoritmik süreçler icat edip, kompleks sistemleri tasarlamak ve modellemek için uygun soyutlamalar formüle ederler. Bilişim Dünya'da hızla gelişmeye devam eden önemli bir teknolojidir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">İstatistik</span>

İstatistik veya sayım bilimi, belirli bir amaç için veri toplama, tablo ve grafiklerle özetleme, sonuçları yorumlama, sonuçların güven derecelerini açıklama, örneklerden elde edilen sonuçları kitle için genelleme, özellikler arasındaki ilişkiyi araştırma, çeşitli konularda geleceğe ilişkin tahmin yapma, deney düzenleme ve gözlem ilkelerini kapsayan bir bilimdir. Belirli bir amaç için verilerin toplanması, sınıflandırılması, çözümlenmesi ve sonuçlarının yorumlanması esasına dayanır. Bu çerçevede yapılan işlemlerin tümüne sayımlama denir.

Yapısal programlama, programlama dilleri kullanılarak yazılan, mantıksal bütünlük gösteren bloklara (bölümlere) bölünebilirler. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır.

Eğitimsel ölçme, genel anlamda ölçme, bir olguya anlamlı sayı ya da semboller atama işlemidir. Eğitsel ölçme ise bu olguların öğrenme ürün ya da sürecine göre kazanımları kapsar. Eğitimsel ölçmelerin amacı ölçülmesi amaçlanan öğrenme yapılarının görgül kestirimlerini sağlamaktır. Bu amaca yönelik olarak değişik ölçme modelleri geliştirilmiştir.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

Boole'ca veya 'Boole'sal, mantık, matematik ve bilgisayar biliminde değeri doğru ya da yanlış olabilecek bir değişken türüdür. Bu değer, bazen 0 veya 1 şeklinde de ifade edilir.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

Programlama dizisinde nesne-yönelimli programlamada, nesne, basit yapılı blok programları olarak kullanılan, işletim zamanı verilerinin saklanması için oluşturulmuş özel birimidir. Programın işlemlerde bir koleksiyon gibi veya programın bilgisayarda komutlar listesi gibi basitçe göründüğü geleneksel bakış açısının tersine, bu nesneler birbiri üzerinde rol oynar. Her nesne mesaj alımına, veriyi işlemeye ve diğer nesnelere veri aktarımına yatkındır. Her nesne farklı rollerde ve sorumluluklarda yer alan veya bağımsız küçük makineler olarak gözlemlenebilir.

<span class="mw-page-title-main">Fonksiyonel programlama</span> programlama pradigması

Bilgisayar biliminde fonksiyonel programlama programların fonksiyonları uygulayarak ve oluşturarak yapıldığı bir programlama paradigmasıdır.

Sözde kod, bilgisayar bilimleri alanında algoritmalar ve programlar oluşturulurken ve aktarılırken kullanılan, günlük konuşma diline benzer ve belli bir programlama dilinin detaylarından uzak anlatımlardır. Programın yapısının ve çalışma mantığının yüksek seviyeli bir biçimde, gerektiği yerde doğrudan doğal dil cümleleriyle, ama yine de bir program yapısı ve akışı içinde anlatılmasıdır. Böylelikle sözde kodu okuyan ya da yazan birisi, programlama dillerinin sözdizim detaylarına dikkat etmek zorunda kalmadan, programın ve algoritmanın çalışma mantığını düşünebilir.

Matematik ve istatistik bilim dallarında, bir değişken için sayısal veri ölçülme ölçeği, o değişken içindeki nesneleri temsil eden sayısal değerlerin kapsadıkları bilgilerin özelliklerinin belirli bir şekilde sınıflandırmasıdır. İncelenen kavramlar Amerikan uygulamalı matematikçi Stanley Smith Stevens tarafından teklif edilip geliştirilmiştir. Stevens'in ölçekler kuramına göre bir değişken için sayısal veriler dört değişik şekilde ölçülme ölçeğine sahip olabilirler: isimsel, sırasal, aralıksal ve oransal. Bu değişik ölçeklere göre değişken verilerine, değişik matematik ve istatistiksel işlemlerin ve ölçümlerin değişik şekilde uygulanması gerekmektedir.

Kapsülleme nesne yönelimli programlamada herhangi bir nesnenin metotlarını, verilerini ve değiskenlerini diğer nesnelerden saklayarak ve bunlara erişimini sınırlandırarak yanlış kullanımlardan koruyan bir konsepttir. Bir nesne üzerinde hem veri soyutlama, hem de kontrol soyutlaması yapılıyor ise buna sarma adı verilir. Çoğu programlama dilleri kapsüllemeyi aşağıda sıraladığımız üç bilgi erişim belirteçleri ile desteklerler.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

<span class="mw-page-title-main">Kavrama</span> düşünebilme ve kavramları doğru şekilde kullanabilme yeteneği

Kavrama, bir kişi, durum veya haber gibi soyut veya somut bir nesneyle ilgili olan ve kişinin üzerinde düşünüp kavramlarla yeterince ilgilenebildiği psikolojik bir süreçtir. Kavrama, bilenle anlaşılan nesne arasında bir bağıntıdır. Bilinen nesneyle ilgili zekice davranışa imkân veren yetenek ve eğilimlerin olmasını gerektirir.

Çevre değişkenleri, çevresel değişkenler ya da ortam değişkenleri, işletim sistemi seviyesinde konfigüre edilebilen ve bilgisayar işlemleri tarafından erişilebilen değişkenlerdir. Çoğu kez belli programların ve dosyaların konumlarını ve birden fazla işlem tarafından kullanılabilen bilgi ve ayarları tutmak için kullanılırlar. Çoğunlukla bir karakter dizisi olurlar.

<span class="mw-page-title-main">Parametre</span> belirli bir sistemi tanımlamak veya sınıflandırmak için yardımcı olabilecek herhangi bir özellik

Parametre belirli bir sistemi tanımlamak veya sınıflandırmak için yardımcı olabilecek herhangi bir özellik. Parametre, sistemi tanımlarken veya performansını, durumunu değerlendirirken yararlı veya kritik olan bir sistem unsurudur.

<span class="mw-page-title-main">Ayrıştırıcı (yazılım)</span>

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.

Bilgisayar biliminde zorunlu programlama ya da emperatif programlama, programın durumunu değiştiren ifadeler kullanan yazılımın programlama paradigması'dır. Doğal dillerdeki zorunlu kipin komutları ifade etmesi gibi, zorunlu program da bilgisayar'ın gerçekleştireceği komutlardan oluşur. Zorunlu programlama, beklenen sonuçlarının üst düzey tanımlarından ziyade programın nasıl adım adım çalıştığını açıklamaya odaklanır.