▁C ++ : ▁ ▁obj -> method ( argument ); ▁ ▁In ▁Object ive - C , ▁this ▁is ▁written ▁as ▁follows : ▁ ▁[ obj ▁method : argument ]; ▁ ▁The ▁" method " ▁call ▁is ▁translated ▁by ▁the ▁compiler ▁to ▁the ▁ ▁family ▁of ▁runtime ▁functions . ▁D ifferent ▁implementations ▁handle ▁modern ▁add itions ▁like ▁. ▁In ▁GNU ▁families ▁this ▁function ▁is ▁named ▁, ▁but ▁it ▁has ▁been ▁deprecated ▁in ▁favor ▁of ▁a ▁modern ▁lookup ▁system ▁under ▁. ▁ ▁Both ▁styles ▁of ▁programming ▁have ▁their ▁strength s ▁and ▁weak ness es . ▁Object - orient ed ▁programming ▁in ▁the ▁Sim ula ▁( C ++) ▁style ▁allows ▁multiple ▁inheritance ▁and ▁faster ▁execution ▁by ▁using ▁compile - time ▁binding ▁whenever ▁possible , ▁but ▁it ▁does ▁not ▁support ▁dynamic ▁binding ▁by ▁default . ▁It ▁also ▁forces ▁all ▁methods ▁to ▁have ▁a ▁corresponding ▁implementation ▁unless ▁they ▁are ▁abstract . ▁The ▁Small t alk - style ▁programming ▁as ▁used ▁in ▁Object ive - C ▁allows ▁messages ▁to ▁go ▁un im plement ed , ▁with ▁the ▁method ▁resolved ▁to ▁its ▁implementation ▁at ▁runtime . ▁For ▁example , ▁a ▁message ▁may ▁be ▁sent ▁to ▁a ▁collection ▁of ▁objects , ▁to ▁which ▁only ▁some ▁will ▁be ▁expected ▁to ▁respond , ▁without ▁fear ▁of ▁producing ▁runtime ▁errors . ▁Message ▁passing ▁also ▁does ▁not ▁require ▁that ▁an ▁object ▁be ▁defined ▁at ▁compile ▁time . ▁An ▁implementation ▁is ▁still ▁required ▁for ▁the ▁method ▁to ▁be ▁called ▁in ▁the ▁derived ▁object . ▁( See ▁the ▁dynamic ▁typing ▁section ▁below ▁for ▁more ▁advantages ▁of