История изменений
Исправление CrX, (текущая версия) :
Наследование - всё ясно. Из одного Зайки - можно сделать второго. Гораздо большего размера с разным цветом глаз - Свойства
Разного размера и с разным цветом глаз ты уже собственно объекты этого класса можешь делать. Наследование тут не требуется, оно выше. Например, когда ты наследуешь от класса жЫвотное класс позвоночное, от него млекопетающее, от него, например, растительноядное, и от него уже зайку.
Инкапсуляция - Зайку резать нельзя. Можно кормить - вход. Убирать дерьмо - выход. Зайка может прыгать - Методы.
Инкапсуляцие это сокрытие реализации. То есть, ты вызываешь метод Заяц.Жрат(морковка)
, вметсо жёваная_морковка = Заяц.Жеват(морковка); Заяц.содержимое_желудка += жёваная_морковка; [...]
Абстракция? - Зайка и Крокодил могут прыгать вместе? - Используя одно и тоже Свойство?
Абстракция — это понятие, применимое не только к ООП, а в целом к программированию. Даже самое простое императивное программирование на C — это абстракция над конкретными машинными инструкциями. Простыми словами, это когда ты можешь оперировать сущностями более высокого порядка, не вдаваясь в детали реализации.
Вроде банальность и очевидность, но я заметил, что новички не всегда осознают, что когда говорят «язык высокого уровня» или «низкого уровня», или даже относительно «выше уровнем», речь идёт именно об уровне абстракции, а не о чём-то ещё. Просто слово «абстракции» обычно опускают. От этого не до всех сразу доходит, что это не нечто отвлечённое, и не какие-то специальные «уровни»
Вообще абстракция во многом достигается инкапсуляцией как раз.
Исправление CrX, :
Наследование - всё ясно. Из одного Зайки - можно сделать второго. Гораздо большего размера с разным цветом глаз - Свойства
Разного размера и с разным цветом глаз ты уже собственно объекты этого класса можешь делать. Наследование тут не требуется, оно выше. Например, когда ты наследуешь от класса жЫвотное класс позвоночное, от него млекопетающее, от него, например, растительноядное, и от него уже зайку.
Инкапсуляция - Зайку резать нельзя. Можно кормить - вход. Убирать дерьмо - выход. Зайка может прыгать - Методы.
Инкапсуляцие это сокрытие реализации. То есть, ты вызываешь метод Заяц.Жрат(морковка)
, вметсо жёваная_морковка = Заяц.Жеват(морковка); Заяц.содержимое_желудка += жёваная_морковка; [...]
Абстракция? - Зайка и Крокодил могут прыгать вместе? - Используя одно и тоже Свойство?
Абстракция — это понятие, применимое не только к ООП, а в целом к программированию. Даже самое простое императивное программирование на C — это абстракция над конкретными машинными инструкциями. Простыми словами, это когда ты можешь оперировать сущностями более высокого порядка, не вдаваясь в детали реализации.
Вообще абстракция во многом достигается инкапсуляцией как раз.
Исходная версия CrX, :
Наследование - всё ясно. Из одного Зайки - можно сделать второго. Гораздо большего размера с разным цветом глаз - Свойства
Разного размера и с разным цветом глаз ты уже собственно объекты этого класса можешь делать. Наследование тут не требуется, оно выше. Например, когда ты наследуешь от класса жЫвотное класс позвоночное, от него млекопетающее, от него, например, растительноядное, и от него уже зайку.
Инкапсуляция - Зайку резать нельзя. Можно кормить - вход. Убирать дерьмо - выход. Зайка может прыгать - Методы.
Инкапсуляцие это сокрытие реализации. То есть, ты вызываешь метод Заяц.Жрат(морковка)
, вметсо жёваная_морковка = Заяц.Жеват(морковка); Заяц.содержимое_желудка += жёваная_морковка; [...]
Абстракция? - Зайка и Крокодил могут прыгать вместе? - Используя одно и тоже Свойство?
Абстракция — это понятие, применимое не только к ООП, а в целом к программированию. Даже самое простое императивное программирование на C — это абстракция над конкретными машинными инструкциями.
Вообще абстракция во многом достигается инкапсуляцией как раз.