Показаны сообщения с ярлыком наследование. Показать все сообщения
Показаны сообщения с ярлыком наследование. Показать все сообщения

Наследование в языке программирования Java

Есть два фундаментальных механизма для построения новых классов из существующих: наследование и агрегация. Есть смысл унаследоваться от существующего класса Vehicle при определении класса Car, потому что автомобиль - это транспортное средство. Класс Vehicle имеет несколько частей, поэтому имеет смысл определить композитный объект (composite object) класса Vehicle, который бы образовывал одно целое из объектов классов Engine, Axle, и GearBox из которых делается транспортное средство.

Наследование классов в языке Python


Синтаксис



Расширение функционала стандартного списка:


Наследование в Haskell

Механизм расширения классов типов слегка похож на наследование в объектно-ориентированных языках. Речь идет не о наследовании реализации, а о наследовании интерфейса, поскольку классы типов являются некоторым эквивалентом интерфейсов. 
{- 
Класс типов Ord параметризован типовым параметром a и имеет в рамках класса типов контекст.
Класс типов Ord расширяет класс типов Eq.
-}
class (Eq a) => Ord a where
 (<), (<=), (>=), (>) :: a -> a -> Bool -- сигнатуры функций сравнения
 max, min :: a -> a -> a
 compare :: a -> a -> Ordering -- более тщательное сравнение двух значений
{- Minimal complete definition: either compare or <= -}
Тип Ordering устроен довольно просто.
Prelude> :i Ordering
data Ordering = LT | EQ | GT  -- Defined in ‘GHC.Types’
instance Bounded Ordering -- Defined in ‘GHC.Enum’
instance Enum Ordering -- Defined in ‘GHC.Enum’
instance Eq Ordering -- Defined in ‘GHC.Classes’
instance Ord Ordering -- Defined in ‘GHC.Classes’
instance Read Ordering -- Defined in ‘GHC.Read’
instance Show Ordering -- Defined in ‘GHC.Show’
instance Monoid Ordering -- Defined in ‘GHC.Base’
В нем определены три конструктора. В типе Bool определены два конструктора True и False. А в типе Ordering определены три конструктора: LT, EQ и GT. Таким образом это перечисление, которое содержит ровно три элемента.