Что такое основы ООП?
Гм... Как-то размыто, есть вот например само программирование, и есть ООП это его часть, очень важная часть, это всё, что я знаю о том, что такое ООП, если так можно сказать.
ну прочти штук пять книжек про ООП и, будешь знать больше.
Все обяснения "в двух словах" обречены на провал, потому что ООП это прежде всего про сложность.
Когда тебе показывают простой пример, и говорят "вот это ооп" а ты ведь уже не первый день программируешь, и понимаешь как без всякого ООП-а сделать еще проще. И гадаешь - или они все психи, или я чего-то не понимаю?
А если взять что-то охренительно сложное, потом переделать его на ООП, и показать разницу - тогда внезапно может прийти прозрение. Но в три строчки сложное не укладывается. А книжку открыть тебе лень.
Такая вот безвыходная ситуация - пока не начнешь глубоко копать ничего про ООП толком не поймешь.
Грубо говоря ООП - это парадигма программирования, когда твой функциональный код (несмотря, на то, что он работает как одно целое) дробится на несколько участков кода(абстрагирование) независимых друг от друга(инкапсуляция) , но при этом с возможностью дополнения или изменения другими участками кода (наследование). По сути тоже, что и функциональное программирования но решает проблемы понимания кода, иерархии, повторного использования и прочее - например если пойдем дальше основ, то в ООП включают инструменты для использования в командной разработке - приватность и публичность, интерфейсы и абстракции. и т.д. и тп.