Міністерство освіти і науки
Черкаський державний технологічний університет
Кафедра комп*ютерних наук та інформаційних технологій управління
Міністерство освіти і науки
Черкаський державний технологічний університет
Кафедра комп*ютерних наук та інформаційних технологій управління
Найсуттєвіші риси ООП
Інкапсуляція
Поліморфізм
Наслідування
Інкапсуляція
Поліморфізм
Успадкування
Код програми
Ball
Перший клас.
Hole
Другий клас.
MainWindow
Третій клас.
private int GetClickedHoleIndex(int X, int Y){
int resultIndex = -1;
for(Hole hole : holes){
int x0 = hole.getX();
int y0 = hole.getY();
int r = hole.getDiametr()/2;
if(Math.sqrt((x0-X)*(x0-X)+(y0-Y)*(y0-Y))<=r){
resultIndex = holes.indexOf(hole);
break;
}
}
return resultIndex;
}
int selectedHole;
void DoMove(int newSelection){
if(newSelection != -1 && newSelection != selectedHole){
if(holes.get(newSelection).getBall() == null){
if(Math.abs(newSelection - selectedHole) < 3){
holes.get(newSelection).setBall(holes.get(selectedHole).getBall());
holes.get(selectedHole).ballMoveOut();
}
canvas.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
int D = canvas.getBounds().width / 10;
int height = canvas.getBounds().height;
for(int i=0;i<7;i++){
DrawHole(D, height, i, holes.get(i), e.gc);
}
}
});
canvas.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
System.out.println(e.x + ";" + e.y);
if(selectedHole == -1){
selectedHole = GetClickedHoleIndex(e.x, e.y);
}
else{
DoMove(GetClickedHoleIndex(e.x, e.y));
canvas.redraw();
}
}
});
canvas.setBounds(0, 0, 501, 64);
}
Тобто це здатність об'єкта використовувати методи похідного класу, який не існує на момент створення базового
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть