Наслеђивање (објектно-оријентисано програмирање)
From Wikipedia, the free encyclopedia
Наслеђивање је када објекат или класа базира на другом објекту (прототипско програмирање) или класи (класно-оријентисано програмирање), користећи исту имплементацију (наслеђену од објекта или класе), специфирајући имплементацију да се понаша исто (интерфејсинг; наслеђено понашање). То је механизам за поновно коришћење кода који омогућава независност екстензије од оригиналног софтвера помоћу класа и интерфејса. Однос објеката или класа током наслеђивања је допринео развоју хијерархије. Наслеђивање је осмишљено 1967, у Симули.[1]
Наслеђивање не би требало да буде конфузно са подтипом.[2][3] У неким језицима се наслеђивање и подтипови слажу,[lower-alpha 1]док су у неким програмским језицима различити; генерално подтип успоставља је-a релацију, док наслеђивање само поново користи имплементацију и устоставља синтатичку равнотежу, не стално и семантичку (Наслеђивање не гарантује подтипско понашање). Да бисмо разликовали ове концепте, кажемо и да је сабтајпинг познат и као интерфејсно наслеђивање, док је наслеђивање описано као наслеђивање имплементација или наслеђивање кода.[4] Наслеђивање је најчешће коришћен механизам за успостављање равнотеже подтипских релација.[5]
Наслеђивање чини објектна композиција, где један објекат садржи други објекат (или објекат једне класе садржи објекат друге класе), види композицију преко наслеђивања. Композиције имплементирају има-a равнотежу, што је супротно од равнотеже коју успоставља подтип (је-a).