19 Şubat 2019

Implementation

https://en.wikipedia.org/wiki/Implementation
Implementation is the realization of an application, or execution of a plan, idea, modeldesignspecificationstandardalgorithm, or policy.

Computer science[edit]

In computer science, an implementation is a realization of a technical specification or algorithm as a programsoftware component, or other computer system through computer programming and deployment. Many implementations may exist for a given specification or standard. For example, web browsers contain implementations of World Wide Web Consortium-recommended specifications, and software development tools contain implementations of programming languages.
A special case occurs in object-oriented programming, when a concrete class implements an interface; in this case the concrete class is an implementation of the interface and it includes methods which are implementations of those methods specified by the interface.

Pseudocode

https://en.wikiversity.org/wiki/Pseudocode
Pseudocode is an informal high-level description of the operating principle of a computer program or other algorithm. It uses the structural conventions of a normal programming language, but is intended for human reading rather than machine reading. Pseudocode typically omits details that are essential for machine understanding of the algorithm, such as variable declarations, system-specific code and some subroutines. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment-independent description of the key principles of an algorithm. No standard for pseudocode syntax exists, as a program in pseudocode is not an executable program.

Pseudocode example

Python

https://docs.python.org/3/tutorial/
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.
The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site, https://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.
The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from C). Python is also suitable as an extension language for customizable applications.

13 Şubat 2019

Interface : Arayüz

/*
Interface : Arayüz
Javada arayüz/interface ler bir sınıfta olması gereken metot ve alanları
belirleyen yapılardır.Uygulamada, problemin çözümü için yazılan farklı
nesnelerin bir arada çalışabilmeleri(kompozisyon) için ortak noktalara(alan/metot)
sahip olmaları gerekir. Örneğin her sınıfın "No" gibi bir alana yada toString()
gibi bir metoda sahip olması istenebilir.

Javada kalıtım yolu sadece tek bir sınıfın özellikleri başka bir sınıfa
aktarılabilir.  Çoklu kalıtım Java dilinde mevcut değil. Java mühendisleri
basitliği korumak için  çoklu kalıtımı Javaya dahil etmemişlerdir. Onun yerine
arayüz tanımlamalarının kullanılmasını önermişlerdir.

Arayüzler sabit değişkenler ve gövdesiz metot başlıkları dışında başka bir şey
barındımazlar.

PROTECTED :
Bir süper sınıfta protected olarak tanımlanmış değişkenler, metotlar, yapıcılar:
protected bildirilmiş üyenin sınıfının bulunduğu paketteki tüm sınıflardan
erişilebilir ve sadece diğer pakette tanımlanmış alt sınıftan erişilebilir.

Protected erişim belirleyici, sınıf ve arayüz tanımlamalarında kullanılamaz.
Metotlar, alanlar protected tanımlanabilir, ancak bir arayüz/interface içinde
metotlar ve alanlar protected yapılamaz.

Protected erişim, alt sınıfa, yardımcı metot veya değişkeni kullanma şansı
verirken,  ilişkisiz bir sınıfın onu kullanmaya çalışmasını önler.
Bu uygulamada interface "Karsilastirma.java" arayüzdür.

*/

Abstract Class : Özet(Soyut) Sınıf

/*
* Abstract Class : Özet(Soyut) Sınıf :
 * Sınıfların örnek alacağı sınıf şablonunu temsil eder.
 * Bir ebeveyn/super sınıftan türetilecek çocuk/alt sınıflarda
 * olması gereken üyeleri tanımlar.
 * Abstract kelimesi ile tanımlanan özet sınıflardan nesne yaratılamaz.
 * Özet sınıftan bir çocuk sınıf türetilmesi ve bu çocuk sınıftan
 * bir nesne yaratılması gerekir.
 * Bu sınıfın metotlarından bir tanesi abstract metod olarak tanımlanır,
 * gövdesi yazılmaz, alt sınıflarda oluşturulması beklenir.
   Özet/Soyut Sınıf Kısıtlamaları :
1- Özet sınıflardan alt özet sınıflar kalıtım yolu ile oluşturulabilir.
2- Özet metodu olmayan sınıflar özet sınıf olamazlar.
3- Sınıfın yapıcı metodu ve static metotlar özet metot olarak tanımlanamazlar
4- Özet sınıftan türeyen alt sınıflar türedikleri özet sınıfa ait özet metodun
   gövdesini yazmak zorundadırlar.

 final anahtar kelimesi ile tanımlanan sınıflardan alt sınıf türetilemez
 final ile tanımlanan metotlar alt sınıflarda override edilemez(private ve static
 tanımlı metotlar da aynı durum söz konusu)
 final ile tanımlı sınıfın metotları da override edilemez
 *
 * public final class kare{}
 * //final metot olusturma;
 * public final double alanHesapla();
 *
 * Sınıf Üyeleri : Class Members : Sınıfın alan/filed, properties/Özellik ve
 * Metotlarını kapsayan genel ifade.
*/

/**
 *
 final anahtar kelimesi ile tanımlanan sınıflardan alt sınıf türetilemez
 final ile tanımlanan metotlar alt sınıflarda override edilemez(private ve static tanımlı metotlar da aynı durum söz konusu)
 final ile tanımlı sınıfın metotları da override edilemez
 *
 * public final class kare{}
 * //final metot olusturma;
 * public final double alanHesapla();
 */