https://www.youtube.com/watch?v=A3WbF9eUq4Q
W programowaniu obiektowym chodzi oto, aby nie kopiować ciągle tego samego i nie wklejać tego samego. Chodzi oto, że gdy np. są 3 funkcje napisane luźno bez żadnych powiązań, ale te funkcje są do siebie podobne, czyli mają te same cechy to niepotrzebnie je kopiujemy zamiast skorzystać np. z dziedziczenia w OOP. Pewne cechy w OOP są dziedziczone po przodku itp.
Chciałbym uściślić.
Jeśli jakaś część kodu się powtarza to stosujemy funkcje i nie tylko je. Natomiast, aby korzystać z dziedziczenia, hermetyzacji itd. to musimy użyć słowa class, a następnie pisać kod obiektowy.