Nesne Yönelimli Programlama (OOP) nedir?

OOP1_am

oop

Nesne Yönelimli Programlama nedir?

İngilizce:Object Oriented Programming olarak adlandırılan ve dilimize Nesne Yönelimli Programlama adıyla çevrilen programlam anlayışı 1960’lı yılların sonunda bir gereksinim olarak çıkmıştır. Nesne Yönelimli Programlamanın çıktığı zaman programlama tekniklerinin bilgisayarların performansına ayak uydurması gerekliydi. Oysa ki günümüzde giderek etkisini yitiren yordamsal programlama adıyla yürütülen projelerde kod parçaları ayrı sayfalarda birden çok kullanılıyor ve kodların yazılımcıdan yazılımcıya değişerek karmaşıklık seviyesini artıyordu. Bu durum hem hem bilgisayarları hem de yazılım maaliyetini artıyordu.

Bilim adamları bu durumu Genetik bilimini göz önüne alarak gerçekleştirdiler. Belirli nesnelerden yeni nesneler türetip aynı genlerimiz gibi yazılım kodlamasının içerisnideki evrimi çok daha basit hale getirmeyi başardılar.

 

Viki’den alıntı: NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır.

Tasarım şablonları

Oluşturucu Tasarım Şablonları

Teklik(Singleton) Tasarım Şablonu

Fabrika(Factory) Tasarım Şablonu

Soyut Fabrika(Abstract Factory) Tasarım Şablonu

İnşaatcı (Builder) Tasarım Şablonu

Prototip(Prototype) Tasarım Şablonu

Yapısal Tasarım Şablonları

Adaptör(Adapter) Tasarım Şablonu

Vekil(Proxy) Tasarım Şablonu

Köprü (Bridge) Tasarım Şablonu

Cephe(Façade) Tasarım Şablonu

Dekoratör (Decorator) Tasarım Şablonu

Kompozit (Composite) Tasarım Şablonu

Sinek Siklet (Flyweight) Tasarım Şablonu

Davranışsal Tasarım Şablonları

Strateji (Strategy) Tasarım Şablonu

Durum (State) Tasarım Şablonu

Yineleyici (Iterator) Tasarım Şablonu

Memento Tasarım Şablonu

Observer Tasarım Şablonu

Sorumluluk Zinciri(Chain of Responsibility) Tasarım Şablonu

Ziyaretçi(Visitor) Tasarım Şablonu

Şablon (Template) Tasarım Şablonu

Komut (Command) Tasarım Şablonu

Aracı (Mediator Tasarım Şablonu)

Autoload

MysQL PHP PHP öğrenme PHP Dersleri Nesne yönelimli programlamalarda class dosyaları ayrı bir dizin içerisinde tutulur. Bunun nedeni classlara istenildiği zaman ulaşılıp daha kolay bir şekilde müdahale edilip, güncellenebilmesidir. Aynı zamanda bir coder  geriye temiz bir iş çıkarmak istiyorsa düzenli olmak zorundadır. Class çağırırken normal bir proje için include veya require kullanırız. Fakat daha büyük projelerde include kendini require_once ‘ye bırakmak zorundadır.  Bunun nedeni sayfalarımızda birden fazla class kullanmamızdır.

require_once kullanımı şu şekildedir;

require_once ‘veri.php’;
$Veritabani = New Veritabaniislem();

PHP5 ile gelen yeni bir özellik autoload fonksiyonudur. Require_once sayfadaki bütün classları çekerken Autoload satır satır classları taradığı için require_once’den daha pratik ve sunucuya daha az yoran bir fonksiyondur. Bİr örnek ile temel iskeletine bakalım;

<?php
function __autoload($classinadi)
{require_once $classinadi . “.php”;}
$Veritabani = new VeritabaniIslem();
$uyelik= new UyelikIslemleri();
?>

Kodların arasındaki VeritabaniIslem sınfıını çağırdık.

 

Class

MysQL PHP PHP öğrenme PHP Dersleri OOP yani Nesne Yönelimli Programlamada class tanımlarız.  Classlar şu şekilde tanımlanırlar;

<?php
class sinifinadi
{
..
..
}
?>

Bir class değişken ve method’lardan oluşuyor. Methodlar fonksiyonlar ile gösterilir.

<?php
class sinifinadi
{
public $degisken1, $degisken2
function fonksiyonismi()
{
..
..
}
}
?>