From the course: Podstawy programowania: Projektowanie zorientowane obiektowo

Myślenie obiektowe

- Wiele z dzisiejszych najpopularniejszych języków programowania jest zorientowanych obiektowo, ale to nie jedyny sposób programowania. Aby zrozumieć, kiedy i dlaczego używanie języków zorientowanych obiektowo może być korzystne, warto porównać je ze wspólną alternatywą. Proceduralne języki programowania, takie jak zwykłe C. W kodzie proceduralnym program jest napisany jako długa seria operacji do wykonania. Niektóre z nich mogą być zorganizowane w nazwane funkcje lub podprocedury, aby kod był modułowy i łatwy w utrzymaniu, ale ostatecznym celem jest tak naprawdę dotarcie z punktu A do punktu B, aby wykonać jakieś zadanie. To proste podejście, które lubię odnosić do pisania przepisu na książkę kucharską. Program lub przepis, aby powiedzieć, upiec ciasto, wymieniłby sekwencję kroków, które musisz wykonać. Wymieszaj składniki razem, wlej je do tortowniczki i włóż do piekarnika. Po prostu wykonaj te kroki w tej kolejności i voila, ciasto. Odkryłem, że nowi programiści mają tendencję do pisania kodu w ten proceduralny sposób, ponieważ łatwo jest myśleć o prostych programach w kategoriach kolejnych kroków. - Racja, i aby podejść do tego samego zadania pieczenia ciasta w sposób obiektowy, zamiast opisywać sekwencję kroków, opiszę każdy z przedmiotów w mojej kuchni, patelnię, piekarnik i mikser oraz to, co każdy z nich może zrobić. Tak więc, zamiast pisać jeden duży program, mój kod obiektowy jest podzielony na kilka samodzielnych obiektów. Prawie jak kilka mini programów, w których każdy obiekt zawiera własne dane i logikę, aby opisać, jak zachowuje się i wchodzi w interakcje z innymi obiektami. Chodzi o to, że możemy mówić i używać tych zaprogramowanych obiektów podobnych do obiektów w świecie rzeczywistym. Mikser może mieszać składniki razem. Mogę wlać mieszankę na patelnię, a piekarnik może upiec wszystko, co jej dam. Końcowy rezultat proceduralnego podejścia Barrona i mojego podejścia zorientowanego obiektowo jest taki sam. Oboje zrobiliśmy ciasto, ale sposób, w jaki myśleliśmy o problemie i zorganizowaliśmy nasz kod, był zupełnie inny. - Teraz żadne z tych dwóch podejść nie jest lepsze od drugiego przez cały czas. Każdy ma swoje zalety i wady, które dotyczą różnych sytuacji. - Jedną z głównych zalet stosowania podejścia obiektowego jest możliwość ponownego wykorzystania kodu. Jeśli chcemy zrobić coś innego niż ciasto, być może babeczki, stworzyłem już funkcjonalność mieszania i pieczenia rzeczy w mikserze i piekarniku. Mogę więc ponownie wykorzystać te przedmioty. Będę musiał zdefiniować jeden nowy obiekt, aby zrobić moje babeczki, tacę na muffinki, ale mogę oprzeć tacę na muffinki na obiekcie z patelni do ciasta, który już mam, ponieważ mają wiele wspólnego, przechowując składniki, które trafiają do piekarnika. Uświadom sobie, że programowanie obiektowe samo w sobie nie jest językiem. Orientacja obiektowa jest określana jako paradygmat programowania. Zestaw pomysłów obsługiwanych przez wiele języków. - Istnieją też inne paradygmaty programowania poza orientacją proceduralną i obiektową. Jeśli weźmiesz udział w kursie informatyki, możesz napotkać języki programowania logicznego, takie jak Prolog. Lub funkcjonalne języki programowania, takie jak Haskell. Jednak oba mają tendencję do życia w bardzo wyspecjalizowanych środowiskach. W praktycznym, pragmatycznym świecie tworzenia aplikacji internetowych, aplikacji mobilnych, aplikacji komputerowych lub tworzenia gier prawie na pewno będziesz używać obiektowych języków programowania. W rzeczywistości wszystkie języki o najwyższym popycie są obecnie zorientowane obiektowo. Obecnie wiele z tych języków obsługuje wiele paradygmatów. Oznacza to, że możesz ich używać do pisania kodu w sposób obiektowy lub proceduralny. Twój wybór. Kiedy po raz pierwszy uczyłem się programowania obiektowego w college'u z Javą, odkryłem, że większość małych programów w klasie, które musiałem napisać, byłaby o wiele szybsza i łatwiejsza do zhakowania przy użyciu podejścia proceduralnego. Ilość kodu obiektowego, który musiałem napisać, aby wszystko działało, często wydawała się rozdęta i znacznie wykraczała poza zakres tych projektów. I może się okazać, że czujesz się tak samo, jak się uczysz, pamiętaj tylko, że używamy małych, prostych przykładów do nauki, ale prawdziwa wartość orientacji obiektowej pojawi się, gdy Twoje projekty będą rosły w skali i wymagały zmian.

Contents