Похожие презентации:
Дәріс_5_Класстар_мен_объектілер_Инкапсуляция
1. Дәріс №5
Тақырыбы: Кластар және объектілер.Инкапсуляция.
2. Мақсаты:
•Java тілінде класс пен объект ұғымын меңгеру.•Инкапсуляция принципін түсіну.
•Кластардың түрлерімен таныстыру.
•Класс құру және объектілермен жұмыс жасауды тәжірибеде көрсету.
3. Класс дегеніміз не?
Класс – объектілерді сипаттайтын үлгі (шаблон). Оның ішінде:Класс ішінде:
• өрістер (fields, attributes) – деректерді сақтайды;
• әдістер (methods) – әрекеттерді орындайды.
Класс жаңа объектілер құру үшін қолданылады.
Жалпы жазылуы:
class ClassName {
// өрістер (деректер)
// конструкторлар
// әдістер (функциялар)
}
4. Объект дегеніміз не?
Объект – кластың нақты данасы (instance). Жаңа объект newоператорымен құрылады.
Мысал:
Car myCar = new Car();
Мұнда Car – класс, ал myCar – объект.
Объектінің қасиеттері
• Мәліметтері бар (атрибуттар).
• Әрекеттер жасай алады (әдістерді шақырады).
5. Инкапсуляция дегеніміз не?
Инкапсуляция – деректерді жасырып, олармен тек әдістер арқылыжұмыс істеу принципі.
Мақсаты:
• Деректерді тікелей өзгертуден қорғау.
• Қауіпсіздікті арттыру.
• Қолданушыға тек қажет әдістерді көрсету.
6. Инкапсуляция
Қолжетімділік модификаторлары• public – барлық жерде қолжетімді.
• private – тек класс ішінде қолжетімді.
• protected – сол пакет пен туынды класстарға қолжетімді.
• default (package-private) – тек бір пакет ішінде қолжетімді.
7. Getter және Setter әдістері
Жасырын (private) өрістерге қол жеткізу үшін қолданылады.Мысал:
class Person {
private String name;
private int age;
// Getter
public String getName() {
return name;
}
// Setter
public void setName(String name) {
this.name = name;
Нәтиже:
}
0 1 1 2 3 5 8 13 21 34
}
8. Кластардың түрлері
Қарапайым кластар (Regular classes)•Кәдімгі кластар, объектілер құруға болады.
Абстрактты кластар (abstract class)
•Толық емес, үлгі ретінде қолданылады.
•Объект құруға болмайды, тек мұрагер класстар қолданады.
Интерфейстер (interface)
•Әдістердің тек сипаттамасын береді.
•Класс интерфейсті іске асыруы керек (implements).
Ішкі кластар (nested/inner classes)
•Басқа кластың ішінде анықталған.
Анонимді кластар (anonymous class)
•Бір реттік қолдану үшін жазылатын қысқартылған класс.
Финал кластар (final class)
•Мұрагер алуға болмайтын класстар.
9. Кластың конструкторы
Конструктор – кластың арнайы әдісі. Ол жаңа объектіні құрғанкезде автоматты түрде шақырылады.
• Конструктордың аты әрқашан класс атымен бірдей болады.
• Конструктор қайтару типін көрсетпейді (void, int және т.б.
болмайды).
• Оның көмегімен объектінің бастапқы мәндерін орнатамыз.
10.
class Student {private String name;
private int age;
// Конструктор
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void printInfo() {
System.out.println("Аты: " + name + ", Жасы: " + age);
}
}
public class Main {
public static void main(String[] args) {
Student st = new Student("Айжан", 20); // Конструктор шақырылды
st.printInfo();
}
}
Нәтиже: Аты: Айжан, Жасы: 20
11. «Студент» класын құру
// Студент класыclass Student {
// Жасырын өрістер (инкапсуляция)
// Getter және Setter әдістері
public String getName() { return name; }
public void setName(String name) { this.name = name; }
private String name;
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
private int age;
private String specialty;
// Конструктор
public String getSpecialty() { return specialty; }
public void setSpecialty(String specialty) { this.specialty =
specialty; }
public Student(String name, int age, String specialty)
// Студент туралы ақпарат шығару
public void printInfo() {
System.out.println("Аты: " + name);
System.out.println("Жасы: " + age);
System.out.println("Мамандығы: " + specialty);
}
{
this.name = name;
this.age = age;
this.specialty = specialty;
}
}
12. Объектіні пайдалану
public class Main {public static void main(String[] args) {
// Жаңа студент объектісін құру
Student st1 = new Student("Айжан", 19, "Ақпараттық жүйелер");
// Ақпаратты шығару
st1.printInfo();
// Деректерді өзгерту
st1.setAge(20);
System.out.println("Жаңартылған жас: " + st1.getAge());
}
Нәтиже:
}
Аты: Айжан
Жасы: 19
Мамандығы: Ақпараттық жүйелер
Жаңартылған жас: 20
13. Қорытынды
•Класс – объектілерге арналған үлгі.•Объект – кластың нақты данасы.
•Инкапсуляция – деректерді қорғау принципі.
•Кластардың түрлері: қарапайым, абстрактты, интерфейс, ішкі,
анонимді, финал кластар.
14. Бақылау сұрақтары:
• Класс дегеніміз не? Оның ішінде қандай құрамдас бөліктер болады?• Объект дегеніміз не? Ол қалай құрылады?
• Инкапсуляция дегеніміз не? Оның негізгі мақсаты қандай?
• Қандай қолжетімділік модификаторларын білесіз? Әрқайсысын түсіндіріңіз.
• Getter және Setter әдістерінің қызметі қандай?
• Кластың конструкторы дегеніміз не және ол не үшін қолданылады?
• Абстрактты класс пен интерфейстің айырмашылығы неде?
• Ішкі класс (inner class) қай кезде қолданылады?
• Final класс пен final өрістің айырмашылығын түсіндіріңіз.
• «Студент» класының мысалында инкапсуляция қалай жүзеге асырылды?
Программирование