Примери за класове на програмиране

Няма нужда изобщо да се използват класовете. Можете да напишете целия си програма многоредово платно в една единствена функция. Но ако по-късно искате да промените нещо, а след това отново ще се справят с всичко това кърпа. Ако капсулиране на различните аспекти на вашата кандидатура, например, с помощта на класове, а след това само трябва да промените типа, към които променлива логика.

И ако, да кажем, например, имаме някакъв код в различни функции и глобални променливи. И във всяка функция е искане за определена глобална променлива или друга функция, която на свой ред подсказва една трета, а третият заявката за глобална променлива. И сега аз трябва да се промени втората функция във веригата, както и един от най-глобалните променливи. Така че, аз ще трябва да се копае в кода на първата функция. Как може да бъде решен с класа?

Ако имате глобална променлива, тогава целият код, който използва променливата - това е една голяма част от кода, а ако използвате някаква част от него, ще трябва да се копае във всичките му части. От факта, че този код ще бъдат разделени в класове, капсулиране не ще се покажат автоматично. Ето защо аз постави акцент върху факта, че тя не е била в класове, веригите и т.н. и капсулиране. Клас - един от инструментите да се гарантира, капсулиране, но това е просто инструмент.

Когато програмата стане по-голям, като че не се скъса нещо друго, когато промените едно парче. По тази програма са разпределени в части, които взаимодействат чрез някои интерфейси. Колкото по-малка от тези връзки, толкова по-лесно е да се поддържа този код.
Променлива (частни) в класа по-добър световен ред, че достъпът до него е само на самия клас. В този случай не мога да пиша, когато клас очакваме, че данните им се променя само мен, така че във всеки един момент, те са последователни. Такива като площад клас описва площада, който ние искаме да зададете дължината на страната и да поиска неговия район.


някой процедурните възможности да промените дължината на страната и да забравим (глупакът, но ако параметрите не са двама, а няколко десетки, да си спомни всички закони на трудно) за промяна на района, в този случай, то ще започнат да получават грешни резултати.
И все пак прочетете за наследството, той се използва много често.
За ENUM не може да забие главата сега.

На процедурен подход, можете да напишете вашите променливи глобалните към модула, както и никой друг освен модула няма да видите тези променливи във вашия модул. Компактна модули се правят и да се споделят на вътрешния и обществеността. Последно вътрешно ползване, т.е. делегира изпълнението.

И с ключ пространство от имена, които не са изправени пред конфликт на имена.

Единственият отрицателен с този подход, от модула не може да се наследява, но това не е толкова отрицателен.

В случай на модула ние нямаме понятие за една инстанция. За моя пример, аз разбирам, как се работи с един квадрат, ако го описват като модул. Работа с множество площади вече се поддържат в самия модул. И ние искаме да се използват различни колекции, всичко става много по-сложно.
Тя премахва наследяването и полиморфизма разбира се е възможно, но не е много желателно.