Co to jest programowanie obiektowe?
Na początek, najpierw zdefiniujmy Programowanie obiektowe. Koncepcja programowania znana jako Oop Dzieli dane i logikę na jednostki wielokrotnego użytku, znane jako obiekty. Te obiekty zawierają dane (zwane właściwościami lub atrybutami) i funkcje (zwane metodami), które mogą manipulować i oddziaływać z danymi. W Oop, Nacisk kładziony jest na tworzenie dobrze zdefiniowanych i zamkniętych obiektów, które mogą się ze sobą komunikować w celu wykonania zadania.
To obiektowy język programowania C?
Niestety język programowania C działa raczej jako język proceduralny niż obiektowy. Biorąc to pod uwagę, możemy teraz ocenić przyczyny.
1: Zajęcia
Pomysł zajęcia jest jedną z głównych koncepcji OOP. A klasa opisuje atrybuty i metody należące do obiektu i służy jako plan budowania obiektów. Niestety, C nie ma wbudowanej metody klasa definicja. Jednak nadal można stworzyć struktura klasowa Korzystanie z struktur danych i funkcji danych. Struktury te mogą przechowywać dane, a funkcje mogą wykonywać operacje tych danych, podobnie jak klasa.
2: enkapsulacja
Kolejny znaczący aspekt Oop to dane kapsułkowanie. Kapsułkowanie odnosi się do idei ukrywania danych i ograniczenia dostępu do nich, aby upewnić się, że jest one modyfikowane tylko w kontrolowany sposób. C ma NIE Wbudowane mechanizmy kapsułkowanie, ale można go ręcznie zaimplementować przy użyciu technik takich jak struktura i wskaźniki.
3: Dziedzictwo
Zdolność klasy do dziedziczyć Atrybuty i funkcje z innej klasy to kolejny kluczowy aspekt OOP. Chociaż C nie ma wsparcia kompilatora dla mechanizmów dziedziczenia, dziedzictwo mogą odbywać się z wskaźnikami i strukturami, umieszczając dziedziczny Struktura atrybutów klasy jako pierwszy członek struktury atrybutów pochodnej klasy.
4: Polimorfizm
C również brak wbudowana funkcja dla wielopostaciowość, który pozwala obiektom na podejmowanie różnych kształtów i typów. C może jednak osiągnąć jakąś formę wielopostaciowość deklarując wskaźniki, które wskazują na funkcje po użyciu struktur.
Wniosek
Podczas gdy C nie Posiadać wbudowany wsparcie dla zorientowany na obiekt Funkcje programowania, takie jak zajęcia, kapsułkowanie, dziedzictwo, I wielopostaciowość, Nadal można napisać zorientowany na obiekt Kod wykorzystujący struktury i funkcje danych C. W rezultacie dokładne jest argumentowanie, że C jest językiem programującym, który obsługuje programowanie obiektowe, ale nie jest on wyłącznie jednym. Warto jednak zauważyć, że użycie c for Oop wymaga bardziej ręcznego podejścia w porównaniu z językami specjalnie zaprojektowanymi Oop, takie jak Java lub Python.