Tüm kapsülleme aşağı gelir. Bu sınıfın içi gizleme ve sadece ne hakkında bakmakta demektir. Eğer bir kredi kartı işleme sınıf olmasını istiyorsanız, gerçekten kredi kartı işler 'nasıl' umurumda değil. $creditCardProcessor->charge(10.99, $creditCardNumber);
ve çalışma bekliyoruz: Sadece gitmek mümkün olmak istiyorum.
Bu kod aramak için güvenli olduğunu nerede biliyorum bazı yöntemler kamu ve diğerleri yaparak özel veya korunan, biz başkaları için bir giriş yolu bırakın. Kamu yöntemler ve değişkenler 'interface' denir.
Her sınıf için, bir implementation var. Bu sınıf görevini yürütmektedir nasıl. O ekler ne maddeler sınıfı maddeler ekler nasıl bir yüzlü yapma sınıf, vb ise, tüm uygulama parçasıdır. Dışındaki kod bilmek ve / veya uygulaması hakkında bakım gerekir.
Sınıfın diğer tarafı onun interface. Arabirim sınıfının geliştiricisi dışında kod tarafından çağrılabilir amaçlanan kamu yöntemleri. Bu, herhangi bir kamu yöntemini çağırmak ve düzgün çalışacak gerekir demektir.