Klasoj estas elementoj de objektema programado. Klasoj difinas kiujn datumojn kaj kiujn funkciojn la objektoj havos. En objektemaj programlingvoj, oni povas krei hierarĥiojn de klasoj por bone reprezenti en la programo la konceptojn de la reala mondo.
Post la difino de klaso laŭ la bezonoj de la programo, la programisto povas krei plurajn objektojn, kiuj havos malsamajn datumojn.
Supozu ke oni kreas mesaĝprogramon. La programo devos prilabori multajn mesaĝojn, do la programisto povas krei klason nomatan Mesagxo (en C++):
class Mesagxo { public: std::string titolo, sendanto, ricevanto, teksto; Mesagxo(const std::string & titol, const std::string & sendant, const std::string & ricevant, const std::string & tekst); void sendi(); };
Tiu klaso havas kelkajn datumojn (titolo, sendanto, ktp.) kaj du funkciojn: la unua estas la konstruilo, por konstrui novan objekton kaj plenigi ĝiajn datumojn; la dua funkcio nomiĝas sendi, kiu, supozeble, sendas la mesaĝon laŭ la datumoj ekzistantaj en la objekto. Kompreneble, en vera programo, la klaso havus pli da funkcioj kaj datumoj, kaj oni devus skribi la kodon por sendi la mesaĝon.
Tiamaniere, la programisto facile kununuigas ĉiujn aferojn, kiuj rilatas al mesaĝoj. La programisto nur bezonas voki la funkciojn (ankaŭ nomatajn "metodoj") por trakti ĉiujn objektojn de la klaso Mesagxo.