ПредишенСледващото

Повечето от технологиите, които включват програмиране, на пръв поглед изглежда невероятно магия, а в действителност е създаден в интерфейса на математиката и електроника. И двете от тези компоненти поотделно - напълно безполезни.

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

Но докато ние имаме свой компютър вкъщи, работа в двоичен код, програмата ще само по-големи и те ще станат по-сложно само. Така че нека да ги разгледа - повярвайте ми, това е полезно.

Обектно-ориентираното програмиране - най-мощният инструмент за развитие. Писане в съвременните езици е много по-лесно, отколкото, например, в C. Например, за да донесе на потребителя да е цяло число, а не малка част, която е "готин" в уравнението, аз трябваше да мисля малко. И аз написах това:

Да кажем, че имаме някаква променлива Y, където минахме дробна стойност:
поплавък у = 2.0
Проверете цялата тази цифра или не имаме прости средства. За да направите това, създайте празна променлива х, то се инициализира на нула и да напишете следния код:
поплавък а = Y;
Int х = 0;
х = (междинно съединение) г;
Y - = х;

ако (х == 0) ФОРМАТ ( "Нашият променлива е равна.", х);
>
друго ФОРМАТ ( "Нашата променлива е% е", а);
>

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

Обектно-ориентираното програмиране избави от тези усилия. Има обикновено повечето от технологиите, представени в завършен вид. Така например, в езика Java е лесно да се провери коректността на Integer java.lang пакет метод за въвеждане на parseInt клас. Когато влезете в не-число или дори нещо, програмата ще генерира грешка (изключение), че програмистът трябва да се лекува правилно - да се сложи на фразата "допуснете грешка", за да прехвърлите на потребителя обратно към прозореца за въвеждане или дори му даде няколко пробни серии. Но, всъщност, ние не говорим за това днес, но "магията".

Истинско чудо в ООП е фактът, че програмата не може да пише на един безкраен включен в списъка, както в C, и тя се е разпаднала на файлове и блокове - класове и методи. Това е просто страхотно. В крайна сметка, в един и същи клас, ние може да съхранява стартира основната функция, а в други - на методите на нашата програма, в третата - данните или интерфейс с свързването към базата данни. Но как да осъзнаем своята магия? Не се притеснявайте - днес излезе с заедно.
Ние ще създадем, например, клас полети с една:
обществени клас полети с една>
И ние поставяме нашите данни - повече променливи.
обществени клас полети с една Int х = 9;
Int у = 10;
Int Z = 11;
>

По подразбиране, тези променливи Packet Access -. Т.е. - всички класове (файлове) от пакета ни може да се възползва от тях - да копирате, променяте, замяна. Но как става това? Това е много проста - да се създаде копие на нашия клас полети с една в друга класа или след магистрален метод.
Полети с една CL = нов полети с една ();

Сега имаме възможност да използваме всички методи и полета на класа (така наречените ни променливи, които са написани веднага след името на класа, и така могат да се видят по целия полети с една). Копирайте ги за себе си - ще създадат свои собствени променливи и ние предаваме до желаните стойности:
обществени клас TwoClass полети с една CL = нов полети с една ();
Int х = cl.x;
Int у = cl.y;
Int Z = cl.z;
>

Не се страхувайте, със същото име - в другия клас, те не ги бъркайте с оригинала. И сега ние имаме данни от полети с една класа.

Но ние трябва да бъдем много внимателни с тях. В крайна сметка, ние не сме в състояние да ги вземеш от първи клас, но и поставят своите ценности. И добре, ако ние го правим съзнателно. А ако просто? Разстройство. Какво да се прави? Магия трябва да бъде защитен от грешки.

Това, разбира се, отива на клетва Хари Потър и "Властелинът на пръстените". Искам да ви разкажа за най-невероятни техники - Абсорбиращи смеси и инкубаторите.

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

За да се избегне това, трябва да направите това: ние присвоите на всяка променлива идентификатор, който ще забрани използването й навсякъде, освен в собствената си класа.
частен х = 9;
частен у = 10;
частен Z = 11;

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

В клас полети с една запис, например, за метода променливата х-поглъщащо вещество, както следва:
обществен инт getX () връщане х;
>
В клас ние TwoClass наричаме този метод:
клас CL = нов клас ();
т. getX ();
Ние можем да отпечатате нашата изразяване и гарантира, че тя е получена, нашата променлива.
System.out.println (CL getX ().);
Можете да запишете и нещо необходимо в променлива клас. Това ще изисква сетер.
обществени невалидни setY (newY) Y = newY;
>
Надпис, самостоятелна Int у = 10; ще остане в сила. Но за да получите от дълбините на един клас може да бъде само стойността, която е написана на newY. Магия - и още!
С създателите можем, например, е лесно да се "дисциплина" на потребителя, като редица по-голяма от нула и по-малко от 10. За да направите това, вие трябва да напишете проста логика да инкубатора:
обществени невалидни setY (newY) ако (newY> 0 newY<10) y = newY;
>

Дизайнер - още едно вълшебно единица за освобождение на Палестина. Може да се види, когато нов обект клас - например, полети с една CL = нов полети с една (); Скобите са просто крият строителя. Въпреки това, в нашия случай, тя не е включена лампа като автоматично създадени. Това означава, че променливите в нашето съоръжение може да бъде произволен брой видове. Но, ако се напише конструктор, обектът е не само да бъде обвързано с някои параметри, които не могат да се променят, но също така може да получи първоначалните стойности.
Да предположим, че игрите единица "дракон" на нашата идея е да има скорост, височина на полета, времето на престой във въздуха и трябва да има няколко единици на абстрактни сили. Създаване на съответния клас и строителя:

обществени клас Dragon Dragon () скорост Int = 120;
Int flight_altitude = 1000;
Int timeAir = 7;
Int мощност = 10;
>
>

Така че, ние имаме един дракон, който може да се състезава при скорости от 120 километра в час на височина от 1000 метра седем минути! В допълнение, той разполага с 10 единици енергия, което означава, че противникът му трябва да бъде много дълга борба с него.
Ето колко лесно сме създали своя собствена дракон и го инициализира наистина магически свойства. Добавете го нищо не е невъзможно, тъй като, ако конструктор с параметри, е написано, да не говорим, не е създаден. Но тези свойства, които дадохме на змея, вземете невъзможно. Сега с нашия дизайнер може да създаде цели орди от дракони, които ще разчисти пътя за нас, за да ценим. Чудесата!

Но това е - не всички. И дизайнери, и методи, подкрепени от така наречения задръстванията - толкова по-магията. Да кажем, че искаме да създадем от нашата Dragon клас е не само на змея, но и "Побеснял". Той няма да има време за височина и полет - и скоростта и силата на волята. Вторият Конструкторът е:
Dragon (междинно съединение V, Int в)>

В един клас, където основен метод ще се намира на всички игрални единици, инициализира нови променливи други ценности и да ги добавите към нов обект:
скорост Int = 60;
Int мощност = 7;
Dragon берсерк = нов Dragon (скорост, мощност);

Up! Имаме Побеснял!
Друг малко чудо "за закуска." Ако вече имате един клас има ниви X, Y, Z, а след това в своя конструктор или метод, ние може да създаде същите променливи със същите имена и ги предаде на полските стойности. И не се обърка нашите променливи. Той трябва само да поставите пред тях една малка дума с точка по този начин: това.
Int х = 4;
Int у = 6;
Int Z = 12;
Dragon (междинно съединение V, междинно съединение с, Int Z) this.x = х;
this.y = Y;
this.z = Z;
>

В програмирането, пълен с неща, които може да се нарече, че наистина чудесно, ако не и магически - точно. И тези чудеса доста способни да научат за всеки.

версия за печат

Свързани статии

Подкрепете проекта - споделете линка, благодаря!