Spec-Zone .ru
спецификации, руководства, описания, API
|
В реальном мире Вы будете часто находить, что много людей возражают всему тому же самому виду. Могут быть тысячи других существующих велосипедов, все то же самое делает и модель. Каждый велосипед был создан из того же самого набора проектов и поэтому содержит те же самые компоненты. В объектно-ориентированных сроках мы говорим, что Ваш велосипед является экземпляром class объектов, известных как велосипеды. class является проектом, из которого создаются отдельные объекты.
Следующий Bicycle
class является одной возможной реализацией велосипеда:
class Bicycle { int cadence = 0; int speed = 0; int gear = 1; void changeCadence(int newValue) { cadence = newValue; } void changeGear(int newValue) { gear = newValue; } void speedUp(int increment) { speed = speed + increment; } void applyBrakes(int decrement) { speed = speed - decrement; } void printStates() { System.out.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear); } }
Синтаксис языка программирования Java будет выглядеть в новинку для Вас, но проект этого class основан на предыдущем обсуждении велосипедных объектов. Поля cadence
, speed
, и gear
представьте состояние объекта, и методы (changeCadence
, changeGear
, speedUp
и т.д.), определяют его взаимодействие с помощью внешнего мира.
Вы, возможно, заметили что Bicycle
class не содержит a main
метод. Поэтому это не полное приложение; это - только проект велосипедов, которые могли бы использоваться в приложении. Ответственность создания и нового использования Bicycle
объекты принадлежат некоторому другому class в Вашем приложении.
Вот a BicycleDemo
class, который создает два отдельный Bicycle
объекты и вызывают свои методы:
class BicycleDemo { public static void main(String[] args) { // Create two different // Bicycle objects Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle(); // Invoke methods on // those objects bike1.changeCadence(50); bike1.speedUp(10); bike1.changeGear(2); bike1.printStates(); bike2.changeCadence(50); bike2.speedUp(10); bike2.changeGear(2); bike2.changeCadence(40); bike2.speedUp(10); bike2.changeGear(3); bike2.printStates(); } }
Вывод этого теста печатает конечный тактовый сигнал педали, скорость, и механизм для этих двух велосипедов:
cadence:50 speed:10 gear:2 cadence:40 speed:20 gear:3