forked from Kodluyoruz/taskforce
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1feccec
commit b2d5482
Showing
7 changed files
with
42 additions
and
7 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Soyutlama (Abstraction) | ||
|
||
Nesne yönelimli programlamada Soyutlama (Abstraction) ilkesi, eğer bir sınıf için nesne üretmek mantıksız geliyorsa o sınıf soyutlanabilir.Alt sınıfların ortak | ||
özelliklerini ve işlevlerini taşıyan ancak henüz bir nesnesi olmayan bir üst sınıf oluşturmak istenirse bir soyut (abstract) üst sınıf oluşturulur. | ||
|
||
Soyutlama, bir sınıfa veya metoda temel görevlerin tanımlanması, detayların ise tanımlanmaması demektir. Temel olarak bir soruna ait çözüme giderken | ||
kullanılacak yöntemlerin, ilk etapta daha genel basit ve soyut bir tanımını yapmaktır. | ||
|
||
## Soyutlama Örnek | ||
|
||
Bu örnekte, ara sınıf olan "Akademisyen" ve "Memur" sınıfları genel bir yapıyı ifade ediyorlar ve bu sınıflar üzerinden sistemde nesne üretilmesini istemeyiz. | ||
İlgili sınıfları "Abstract Class" olarak tanımlarsak, bu sınıflardan nesne üretilmesini engellemiş oluruz. UML sınıf diyagramlarında bir sınıfın abstract bir | ||
sınıf olduğu , sınıf ismini "İtalik" olarak yazması ile belirtilir. | ||
|
||
![](figures/abstraction.jpg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Çok Biçimlilik (Polymorphism) | ||
|
||
Polymorphism (çok biçimlilik) NYP'de programlama dilinin farklı tip verileri ve sınıfları farklı şekilde işleme yeteneğini belirten özelliğidir. Daha belirgin | ||
olmak gerekirse, metotları ve türetilmiş sınıfları yeniden tanımlama yeteneğidir | ||
|
||
Polimorfizm, alt sınıfların ata sınıflardaki metotları geçersiz kılması (method overriding) sayesinde çok biçimli olarak davranmasına denir. Bu sayede alt sınıf | ||
ata sınıfından gelen davranışı kendine göre şekillendirebilir. | ||
|
||
Metotlarda Geçersiz Kılma ise bir alt sınıfın içine doğrudan ya da dolaylı ata sınıflarından gelen bir (ya da daha fazla) yöntemin aynısının (aynı yöntem adı ve | ||
aynı parametre listesi) kodlanmasına verilen addır. | ||
|
||
Polimorfizm sayesinde uygulamaların genişletilebilirliğini sağlarız ve bir ata sınıfın sunduğu yöntemleri geçersiz kılan alt sınıflar yardımı ile ata sınıfa | ||
göre kodlanmış tek bir kod kesimine farklı davranışlar yüklemek olanaklı olmaktadır. Öyleyse, elimizde esnek bir altyapı var demektir. Bu esneklik altyapıya | ||
yeni türlerin eklenmesi, kalıtım ve geçersiz kılma ilişkileri çerçevesinde oldukça kolaydır. | ||
|
||
## Polimorfizm Örneği | ||
|
||
![](figures/polimorfizm.jpg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters