Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД JP Инф_каз_2015.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
595.94 Кб
Скачать

5 Дәріс. Әдістер және конструкторлар

Дәріс мақсаты: Әдістерді қайта жүктеу, конструкторлар, объект аргумент ретінде және әдіс нәтижесі, аргументтерді табыстау тәсілімен танысу, Мысалдар.

Әдістерді хабарлау

Әдістер төмендегі форматта хабарланады:

тип әдіс_есімі ( формальды параметрлер тізімі) {

әдістің денесі:

}

Әдіс кез келген типті қайтара алады, егер нәтиже қайтармайтын болса void типі көрсетіледі. Формальды параметрлер тізімі – бұл үтір арқылы ажыратылған тип-идентификатор тізбегі. Егер параметр болмаса, бос дөңгелек жақшалар қойылады.

class Point { int х, у;

void init(int a, int b) {

х = а;

у = b;

}

}

Айнымалы өкілдерін жасыру

Java тілінде бір немесе біріктірілген облыстарда екі локалды аттас айнымалының көрінуі мүмкін емес. Бірақ айнымалы өкілдері аттас әдістердің формалді параметрлерін хабарлауға тиым салынбайды. this сілтемесі қолданылатын ағымдағы объект үшін inіt әдісінің жаңа түрін қарастырайық.

class Point { int х, у;

void init(int х, int у) {

this.x = х;

this.у = у

}

}

class TwoPointsInit {

public static void main(String args[]) {

Point p1 = new Point();

Point p2 = new Point();

p1.init(10,20);

p2.init(42,99);

System.out.println("x = " + p1.x + " у = •• + p-l.y);

System.out.printlnC'x = " + p2.x + " у = •• + p2.y);

}

}

Конструкторлар

Конструктор дегеніміз жаңа объектіні инициализациялау үшін қолданылатын әдіс. Конструктордың есімі кластың есімімен сәйкес келеді. Конструктордың қайтаратын типі болмайды. Алдыңғы мысалды конструктордың көмегімен жазайық.

class Point { int х, у;

Point(int х, int у) {

this.x = х;

this.у = у;

}

}

class PointCreate {

public static void main(String args[]) {

Point p = new Point(10,20);

System.out.println("x = " + p.x + " у = " + p.у);

}

}

Әдебиеттер

  1. Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]

  2. Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]

  3. Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.

6 Дәріс. Мұрагерлік және әдістерді қайта анықтау

Дәріс мақсаты: төменгі класты құру, суперкластың элементіне қатынау, конструкторлар және мұрагерлік, суперкластың элементіне сілтеме, мұрагерлікте әдістерді қайта анықтау.

Мұрагерлік

Объектілі-бағытталған программалаудың екінші негізгі қасиеті - мұрагерлік (бірінші – инкапсуляция). Класстар-ұрпақтар тек қана өз айнымалылары мен әдістерін ғана құрып қоймай, сондай-ақ кластар-бабалар әдістері мен айнымалылардың мұрагері болады. Класс-ұрпақ ішкі кластар деп аталады. Ал берілген кластың бабасын оның суперкласы деп атайды. Кезекті мысалда класты қалай кеңейту керектігі көрсетілген. Point класының айнымалыларына үшінші z айнымалысы қосылады.

class Point3D extends Point { int z;

Point3D(int x, int y, int z) {

this.x = x;

this.у = у;

this.z = z;

}

Point3D() {

this(-1,-1,-1);

}

}

Бұл мысалдағы extends кілттік сөзі трансляторға Point класы үшін ішкі класс құрылатындығын хабарлайды. Бұл класта х және у айнымалыларын хабарлау қажет болмады. Себебі, Point3D класы Point суперкласының мұрагері.

super

Мысалда Point3D класында суперкласс кездесетін код жиі қайталанды. Екінші конструкторда сол кластың бірінші конструкторын шақыру үшін this қолданғанбыз. Сол сияқты, super кілттік сөзі тікелей суперкласс конструкторына назар аударуға мүмкіндік береді

class Point3D extends Point { int z;

Point3D(int x, int у, int z) {

super(x, y); // this.z=z суперкласс конструкторын шақырамыз;

public static void main(String args[]) {

Point3D p = new Point3D(10, 20, 30);

System.out.println( " x = " + p.x + " y = " + p.y + " z = " + p.z);

}

}

Бұл программаның нәтижесі:

x = 10 у = 20 z = 30

Әдебиеттер

  1. Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]

  2. Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]

  3. Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.