Здравствуйте. Скажите, пожалуйста, правильно ли я понимаю понятие класса в ООП?
Я понял это так: Напрямую с классом работать мы не можем, поэтому мы работаем с экземплярами класса (то есть с его объектами), которые в свою очередь имеют свойства, события и методы. У каждого объекта есть свой интерфейс который в свою очередь определяет какие запросы мы можем послать к этому объекту.
Но напрямую с объектом мы тоже не можем работать поэтому даём нашему объекту имя (то есть делаем на него ссылку указывая что созданное нами имя и есть тот самый объект). Непосредственно объект мы изменять не можем поэтому мы через оператор new создаём новый экземпляр этого объекта. С которым можем уже производить какие то действия.
Light lt = new Light()
lt on();
Как я понимаю на примере этого кода. Мы имеем объект OnClickListener с которым напрямую мы работать не можем. Поэтому мы даём этому объекту имя (то есть делаем ссылку на объект), в нашем случае это btnOK. Для того чтобы нам работать с btnOK мы должны создать экземпляр этого объекта, который в свою очередь мы сможем изменять (то есть который сможет реагировать на наши запросы).
У объекта OnClickListener существует событие onClick, которое срабатывает при нажатии на кнопку. У объекта tvOut есть событие setText, которое выводит необходимый нам текст.
OnClickListener btnOK = new OnClickListener() {
@Override
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка ОК");
}
};
Так это понимаю я, но ведь OnClickListener - это не объект а метод. Причём тут его называют событием
<Button
android:id="@+id/butHello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:onClick="butHello_Click"
android:text="Поздороваться" />
А тут методом.
public void butHello_Click(View v){
TextView tvHello = (TextView)findViewById(R.id.textView1);
tvHello.setText("Hello!!!");
}
В чём же тут разница?
Просьба не ругаться, а помочь разобраться, в чём моя ошибка. Мне необходимо это понять, желательно на примерах. Спасибо за помощь.