Nesne tabanlı programlama, yazılım geliştirmek için kullanılan bir teknolojidir. OOP yani object-oriented programming, Türkçe karşılığı nesne tabanlı programlama, sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. C# temelinde nesne tabanlı bir dildir. Çok sayıda nesne hazır olarak C# içerisinde bulunur ve bu nesneler kullanılarak program yazılır. Ayrıca kendimiz de bir sınıf yazabiliriz.
OOP üç prensibe sahiptir.
- Encapsution
- Inheritance
- Polymorphism
Encapsulation: Nesne hakkındaki bilgiler ve işlemlerdir. Metot ve özellik olarak adlandırılan bu işlemler nesnenin niteliklerini ortaya çıkartır. Bir arabanın rengi ve büyüklüğü gibi.
Inheritance: Nesnenin başka bir nesne üzerine, bir üst nesneden etkilenerek, kurulmasıdır. Bir bilgisayarın parçalardan oluşması ve parçalarında bilgisayarın tam nesnesinden etkilenmesi.
Polymorphism: Belirli bir işlemin bir çok nesne tarafından kullanılmasıdır.
PHP de Nesne Tabanlı Programlama
PHP de nesne tabanlı programlamayı anlayabilmek için ilk önce PHP'nin temel yapı taşları olan fonksiyonlar ve değişkenler konusunda tam bir bilgiye sahip olmak gerek.
Bir sınıf oluşturmak için class komutunu kullanırız.
sinif.php isminde bir dosya oluşturalım
<?php class bilgisayar{ } ?>
sınıfımızın içi boş bundan sonra buraya değişken tanımlaması ve fonksiyondan başka bir şey yapamayız, yapacağımız her işlem için fonksiyon yazmamız gerek. Burada mantık şu, yazacağımız sınıfa özel olan fonksiyonu yazıp gerektiği yerde gereken fonksiyonu çağırmamız gerek, veritabanı sınıfı yazıp içine grafiksel istatistik çıkaran bir fonksiyon yazmamız uygun olmaz.
<?php class bilgisayar{ public $marka, fiyat; function marka_tanimla($yenimarka){ $this->marka = $yenimarka; } function marka_goster(){ return $this->marka; } } ?>
marka_tanimla() ve marka_goster() fonksiyonları oluşturduk. İsimlerden de anlayabilirsiniz yaptığı işlemi. Burada genel kullanımdan farklı olan bir $this-> özel referans değişkeni. $this-> ifadesi ile bir değişkene erişirken ve mevcut sınıfın diğer fonksiyonlarına ulaşırken kullanırız.
$this->marka = $yenimarka ile $marka isimli değişkene $yenimarka değerini atamış olduk, return $this->marka; ile $marka değişkenini return etmiş oluyoruz.
Şimdi index.php dosyası oluşturalım ve sinif.php dosyasını include edelim.
<?php include 'sinif.php'; ?>
Sadece sinif.php dosyasını çağırdık fakat içerisindeki bilgisayar nesnesini kullanmıyoruz şu anda, onun için devam edelim
<?php include 'sinif.php'; $bilgisayar = new bilgisayar(); ?>
$bilgisayar isimli değişkene bilgisayar nesnesini atamış oldum. Bu değişkeni kulp olarak düşünün, kulptan bardağı tutup kontrol edebiliriz.
<?php include 'sinif.php'; $bilgisayar = new bilgisayar(); $bilgisayar->marka_tanimla('HP'); echo $bilgisayar->marka_goster(); ?>
marka_tanimla fonksiyonu ile markayı tanımladık, ve ekrana marka_goster ile yazdırmış olduk. Bunları sınıf ve bu sınıfa ait methodlarla yaptık.
PHP'de genel olarak nesne tabanlı programlama bu şekilde yapılıyor.
Konu bunlarla sınırlı değil çok derin bir konu sadece tanıtma amaçlı yazdım.
English: https://niyazi.net/en/php-object-oriented-programming
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
Hiç yorum yok