z.b. JAVA, c++ oder Pascal.
Normales Pascal eher nicht, höchstens Object Pascal (die Sprache aus Delphi).
Bei OOP gibt es wie gesagt schon verschiedene Klassen, die man normalerweise bequem übernehmen kann. Wenn also irgendjemand eine Klasse geschrieben hat, die man gerade gut gebrauchen könnte, dann kann man diese einfach als Grundlage nehmen. Man leitet eine eigene Klasse davon ab, fügt noch ein paar eigene Merkmale ein und programmiert selbst weiter.
Klassen verhalten sich gegenüber Objekten so ähnlich wie Datentypen gegenüber Variablen. Also kann man ein Objekt erzeugen, dass das eine "Instanz" einer bestimmten Klasse ist. Genauso wie man eine Variable erzeugt, die dann eine Instanz eines Datentyps ist.
Im Gegensatz zu einem Struct besteht eine Klasse nicht nur aus einzelnen Variablen, sondern kann auch ein ganzes Programm enthalten. Dazu kommt noch, dass man bestimmte Teile einer Klasse mit unterschiedlichen Rechten belegen kann. Dadurch kann man also einige Merkmale der Klasse vor Zugriffen von ausserhalb schützen.
Das hat den Vorteil, dass man grössere Projekte leichter pflegen kann.