Php basit örneği ile kapsülleme nedir?

6 Cevap php

Php basit örneği ile kapsülleme nedir?

6 Cevap

Encapsulation sadece bir nesne bazı verileri tamamlıyor. Burada kullanılan "kapsül" genellikle "bilgi saklama" ile birbirlerinin yerine kullanılır. Wikipedia vardır a pretty through article.

İşte the first link içinde bir örnek, bir Google search for 'php encapsulation':

<?php

class App {
     private static $_user;

     public function User( ) {
          if( $this->_user == null ) {
               $this->_user = new User();
          }
          return $this->_user;
     }

}

class User {
     private $_name;

     public function __construct() {
          $this->_name = "Joseph Crawford Jr.";
     }

     public function GetName() {
          return $this->_name;
     }
}

$app = new App();

echo $app->User()->GetName();

?>

Dış nesne iç veri veya nesne ulaşılabilir nasıl ne üzerinde tam kontrole sahip böylece Encapsulation, bir özellik within another object gibi bir nesne ya da veri depolama bir yoludur.

Örneğin

class OuterClass
{
  private var $innerobject;

  function increment()
  {
    return $this->innerobject->increment();
  }
}

Sen dış nesne iç nesne erişilebilir nasıl kontrol etmenizi sağlar kapsüllü nesnenin etrafında fazladan bir katman var. Bu, iç nesne / özelliği private yapım ile bir arada, information hiding sağlar.

Encapsulation kodu ve yönlendiren verileri bir araya bağlar ve dış müdahale ve yanlış güvenli hem de tutar mekanizmadır. (Sınıf olarak adlandırılır) tek bir birim halinde ve veri yöntemlerinin sarma kadar kapsülleme olarak bilinir. Kapsülleyebilir yararı da endişe yapmadan içindeki görevi gerçekleştirir olmasıdır.

İnsanlar çok eski ve geniş bir kavramdır kapsüllendirme ile nesne yönelim ayrıntıları karıştırma gibi görünüyor. Bir kapsül içine veri yapısı

  • can be passed around with a single reference, eg increment(myDate) rather than increment(year,month,day)
  • has a set of applicable operations stored in a single program unit (class, module, file etc)
  • does not allow any client to see or manipulate its sub-components EXCEPT by calling the applicable operations

Sen hemen hemen her dilde encapsulation yapabilir ve modülerleştirmeyi ve sürdürülebilirlik açısından büyük faydalar elde.

Kapsülleme karşıt veya global değişkenler (her dosya ile ilgili yöntem için bir dosya tanıtıcısı gibi) her yöntemine bir değişken geçirmeden gibi bir şey olurdu.

Kapsülleme dış dünyadan nesne ve buna erişilen veri sınıfının üyelerine sınırlandırılır hidding işlemidir.