среда, 21 января 2015 г.

OOP //БОЯТЬСЯ НОРМАЛЬНО!

class:fiels и methods(в ООП языках есть свойства и действия)

incapsulation- сокрытие полей(внутреннего состояния)- скрываем внутренее состояние от внешнего мира

inheritance- наследование(см. суперклас- 2 авто: седан и подъемный кран(вроде как разные, но обе же четырехколесные транспортные средства)- след. наследование какое? наследование в том, что есть двигатель, кузов, 4 колеса и тд, ) то есть! наследование это когда 1 объект наследуется от другого(обычно наследуются классы а не объекты) Класс родитель: потомок 1, потомок 2 и тд. В ЯВЕ нет множественного наследования!//Наследование используется для сокрытия какого-то куска кода, реализацию.
В Яве наследование сверху вниз(как семейное древо например: прадед-дед-сын-и тд :то есть наследуется так)
extends //имя класса - но ОБЯЗАТЕЛЬНО в классе должен быть id// { ..}
пример:
1: public class Car
Int mobil
String name
2: Car c= new Car()
c name= "aaa"
3: Class Super
int id
4: extends Super
5: c.id=2 (это уже вписывается в ВТОРОЙ пункт)
Полиморфизм-это когда мы вызываем методы подклассов через методы суперклассов

Overloading - например
public void () {...}
public void (int a) {....}
public void (int a, double b){...}
возможность вызывать методы одинаково, различаться будут лишь тем, что будут разные параметры.

ХОТЯЯЯЯЯЯЯЯЯЯЯЯЯЯ..// да, наверное где-то косякнула

Здесь записано будет много всякого, но оно все нужно. Не обязательно написанное будет относиться именно к теории . Будут пометки и по самой яве тоже

КОНСТУКТОРЫ 
выглядят так:
public class Bike(){
public Bike(){
}
в конструктарах могут быть OVERLOADING
public class Bike(){
public Bike(){
}
public Bike(insta){
}
}
Bike b = оператор new Bike();//нет параметра- вызывается верхняя строчка
                               new Bike(5);// будет вызван оператор соответствующий insta

В Яве есть зарезервированный класс Integer - пишется с большой буквы. Как String, как Object.
Он соответствует int впринципе. Для многих примитивных типов в Яве есть соответствующие классы.
------------------------
Существует метод equals;
пример
b1.equals(b2); // equals - ==
этот метод существует у каждого объекта- потому что этот метод находится в классе Objects- а там есть этот метод, а от класса Objects наследуются все классы в яве
пример
public class Bike{
int num;
public boolean equals(Bike b2)
return num=b2.getNum}
EQUALS всегда проверяется на Null, потом на два =, потом на нул все поля, потом сравнения между полями(поля разные бывают).Если обычные типы данных- примитивные(инты даблы булеаны), если два ОБЪЕКТА - использовать equals

String a1="aa"
String a2="aa"
a1==a2;
что вернется в таком случае? вернется FALSE- потому что это 2 РАЗНЫХ ОБЪЕКТА(в ячейках)
a1.equals(a2) - только в таком случае получим TRUE- потому что тут будет логическое сравнение внутри класса String // это еще раз подтверждает что сравнивают Объекты таким образом.нужно убедиться что первый объект не равен NULL- поэтому лучше сначала перед иквалсом писать if(a1!=null){ и далее иквалс}

http://study-java.ru/uroki-java/urok-11-sortirovka-massiva/ НУЖНАЯ ССЫЛКА ДЛЯ СОРТИРОВКИ ПУЗЫРЬКОМ























Комментариев нет:

Отправить комментарий