By GokiSoft.com|
21:07 04/06/2020|
Java Basic
[Share Code] Bài giảng lập trình OOP trong java + Kế thừa trong Java + Đóng gói trong Java - Lớp Overview Java
[Share Code] Bài giảng lập trình OOP trong java + Kế thừa trong Java + Đóng gói trong Java - Lớp Overview Java
# Nội dung học
- Học lập trình OOP
- Khái niệm về lập trình OOP
- Tại sao chúng ta phải học OOP
- Thuộc tính truy xuất
- public
- protected
- private
- Tính chất của lập trình OOP
=> Tính đóng gói => OK => Hieu dc la OK
=> Tính kế thừa
=> Override
=> Overloading
=> Tính đa hình
=> Tính trừu tượng
- Interface
=> so sánh vs tính chất trong OOP
- Quản lý điểm sinh viên
Nhóm đối tượng
- sinh viên
- thuộc tính gì
- hành động gì (phương thức)
- môn học
- thuộc tính gì
- hành động gì (phương thức)
- kỳ học
- thuộc tính gì
- hành động gì (phương thức)
- lớp
- thuộc tính gì
- hành động gì (phương thức)
- điểm thi
- thuộc tính gì
- hành động gì (phương thức)
OOP => Tạo ra class object => quản lý độc lập về sinh viên => thuộc tính => phương thức => Lập trình OOP
- Triển khai code như thế nào
Ví dụ:
Sinh viên:
Thuộc tính cần quản lý
tên => string
tuổi => int
địa chỉ => string
email => string
số điện thoại => String
Phương thức & hành động mà các bạn cần quản lý
chạy
học
nhập thông tin
hiển thị thông tin sinh viên
- Thuộc tính truy xuất
- public
- protected
- private
- Tính kế thừa
- Chương trình cần quản lý thông tin Công dân (citizen), Sinh Viên
- Citizen:
- Thuộc tính
- Tên, tuôi, địa chỉ
- Hành động
- chạy, ngủ
- Sinh viên
- Thuộc tính
- Tên, tuổi, địa chỉ, mã sinh viên, email
- Hành động
- Chạy, ngủ, học
# Phần 1: Tính bao đóng trong lập trình OOP
##ObjectTest.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lession2;
/**
*
* @author teacher
*/
public class ObjectTest {
public static void main(String[] args) {
//khoi tao ra doi tuong tu class object
Student std1 = new Student();
std1.fullname = "Nguyễn Hữu Thành";
std1.age = 19;
// std1.address = "Ha Noi"; => nguyen nhan address => private
std1.setAddress("Ha Noi");
std1.email = "nguyenhuuthanh@gmail.com";
std1.phoneNumber = "123456789";
//tao ra 1 đối tượng cụ thể.
std1.running();
//tao them 1 object moi
Student std2 = new Student();
std2.fullname = "TRAN VAN A";
std2.age = 19;
// std2.address = "Nam Dinh"; => nguyen nhan address => private
std2.email = "tranvana@gmail.com";
std2.phoneNumber = "123456789";
//tao ra 1 đối tượng cụ thể.
std2.running();
//Test ham tao 1 doi so
Student std3 = new Student("TRAN VAN B");
std3.running();
//Tét ham tao day du doi so
Student std4 = new Student("Tran Van C", 32, "Nam Dinh", "tranvandiep.it@gmail.com", "1234567890");
std4.running();
}
}
##Student.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lession2;
/**
*
* @author teacher
*/
public class Student {
//goi dc thuoc tin trong chinh class object cua no + tu class cung package
protected String fullname;
int age;
//private => goi dc trong chinh class object
private String address;
//public => goi dc o tat ca cac class (chinh no + class cung package + khac package)
public String email;
//kieu mac dinh => protected
String phoneNumber;
public Student() {
System.out.println("Init Student");
}
public Student(String ten) {
fullname = ten;
}
public Student(String fullname, int age, String address, String email, String phoneNumber) {
this.fullname = fullname;
this.age = age;
this.address = address;
this.email = email;
this.phoneNumber = phoneNumber;
}
public void running() {
System.out.println(fullname + " đang chạy bộ...");
System.out.println("Sinh vien " + fullname + " co tuoi : " + age);
}
public void learning() {
System.out.println("goi toi phuong thuc learning...");
}
public void input() {
System.out.println("goi toi phuong thuc input...");
}
public void display() {
System.out.println("goi toi phuong thuc display...");
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age <= 0) {
System.err.println("Nhap sai du lieu >> age khong dc <= 0");
return;
}
this.age = age;
}
}
##Test.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package leassion2.sub;
import lession2.Student;
/**
*
* @author teacher
*/
public class Test {
public static void main(String[] args) {
Student std = new Student();
// std.fullname = "ABC"; => khac package vs class Student => error
std.setFullname("Tran Van A");
std.setAge(-12);
// std.address = "Ha Noi"; => nguyen nhan address => private
std.setAddress("Nam Dinh");
std.running();
}
}
#Phần 2: Tìm hiểu tính chất kế thừa
##OOPTest.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lession2;
/**
*
* @author teacher
*/
public class OOPTest {
public static void main(String[] args) {
Citizen citizen = new Citizen("A", 22, "Ha Noi");
citizen.running();
StudentNew std = new StudentNew("tranvana@gmail.com", "R001", "B", 12, "Nam Dinh");
std.running();
std.input();
}
}
##Citizen.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lession2;
import java.util.Scanner;
/**
*
* @author teacher
*/
public class Citizen {
String fullname;
int age;
String address;
public Citizen() {
}
public Citizen(String fullname, int age, String address) {
this.fullname = fullname;
this.age = age;
this.address = address;
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public void running() {
System.out.println("Citizen dang chay");
}
public void sleeping() {
System.out.println("Citizen dang ngu");
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ten: ");
fullname = scan.nextLine();
System.out.println("Nhap tuoi: ");
age = Integer.parseInt(scan.nextLine());
System.out.println("Nhap dia chi: ");
address = scan.nextLine();
}
}
##StudentNew.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lession2;
import java.util.Scanner;
/**
*
* @author teacher
*/
public class StudentNew extends Citizen{
String email;
String rollNo;
public StudentNew() {
}
public StudentNew(String email, String rollNo, String fullname, int age, String address) {
super(fullname, age, address);
this.email = email;
this.rollNo = rollNo;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getRollNo() {
return rollNo;
}
public void setRollNo(String rollNo) {
this.rollNo = rollNo;
}
@Override
public void running() {
//2 loai => viet lai toan vo code trong class child
System.out.println("Sinh vien dang chay");
}
public void learning() {
System.out.println("Sinh vien dang hoc");
}
@Override
public void input() {
super.input();
Scanner scan = new Scanner(System.in);
System.out.println("Nhap MSV: ");
rollNo = scan.nextLine();
System.out.println("Nhap email: ");
email = scan.nextLine();
}
public void input(String param) {
System.out.println("Test");
}
public void input(String param1, String param2) {
System.out.println("Test");
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)