NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Com ế
Đây là đ c ng môn l p trình h ng đ i t ng v i Java do th y Nguyên-tr ng ươ ướ ượ ườ
ĐH CNTT-TT Thái Nguyên đ a raư
Trong b đ c ng này có c lý thuy t và bài t p cho các b n ôn t p ươ ế
Chúc t p th K8e thi th t t t nhé
R nh thì ghé thăm di n đàn chia s tài li u h c t p http://ebookso1.com
=======================================================
Lý thuy t .ế
Hãy nêu khái ni m: l p các đ i t ng , đ i t ng, l p trình h ng đ i ượ ượ ướ
t ng trong ngôn ng l p trình h ng đ i t ngượ ướ ượ
L p là m t khái ni m trìu t ng dùng đ bi u di n m t t p các đ i t ng, có ượ ượ
m t vài đ c đi m chung nào đó
Nêu các quy t c truy n tham s trong ngôn ng java
trong java ch có duy nh t 1 cách truy n tham s là: truy n tham tr
Không t n t i truy n tham chi u ế
- Truy n m t bi n nguyên: hi b n chuy n m t bi n ki u nguyên cho m t ế ế
ph ng th c thì java s t o ra m t b n sao cho bi n nguyên đó. Vì th m iươ ế ế
thay đ i c a bi n trong ph ng th c đó đ u không nh h ng t i bi n ban ế ươ ưở ế
đ u
- Truy n d li u ki u reference:
Trước hết mình cùng phân tích mt statement:
MyClass a = new MyClass();
Khi thc hin câu lnh này, Java to ra mt đối tượng trong b nh (không cn quan tâm nó nm
đâu) và tr v mt giá tr tham chiếu đến đối tượng đó. Như vy a không phi là mt đối tượng mà ch là
mt reference ti đối tượng mà thôi.
Mình cùng phân tích mt statement tiếp theo:
MyClass b = a;
Mc dù sau câu lnh này mình có hai giá tr a, b khác nhau. Nhưng hai reference bng nhau s ch đến
cùng mt đối tượng nên hai giá tr a và b s ch đến cùng mt đối tượng trong b nh. Vì cùng ch đến
mt đối tượng duy nht nên khi a thay đổi thì b s b nh hưởng và ngược li. Chính vì đim này nên khi
gán mt reference vào mt phương thc thì bn copy ca reference này s gây thay đổi đến đối tượng
thc trong b nh.
Cơ chế ca 1 và 2 là như nhau. Nhưng bn cn tìm hiu k v hai loi data này để hiu tt hơn ti sao
đối tượng b thay đổi khi gán và mt phương thc.
Câu 1:
Hãy nêu các khái ni m k th a, đa hình, trong l p trình h ng đ i ế ướ
t ngượ .
K th a:ế
K th a là vi c t o ra m t l p t m t l p đã bi t. l p m i đ c t o ra th aế ế ượ
h ng t t c các thu c tính và ph ng th c c a l p cũưở ươ
NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Com ế
Khi mu n vi t l i m t ph ng th c đã có s n trong l p cha ta ph i n p ch ng ế ươ
ph ng th c đó (th c ra là vi t m t ph ng th c m i có cùng tên, ki u giá tr trươ ế ươ
v tham s v i ph ng th c đã có l p ươ
cha)
các d li u có khai bai báo là protect, public , final thì l p con có th
th a k ế
- Đa hình
Đa hình là vi c g i m t trong nhi u ph ng th c có cùng tên và n m ươ
trong cùng m t l p. Java s d a và ki u tr v và tham s truy n vào
đ g i ph ng th c cho phù h p ươ
Anh ch hãy gi i thích khái ni m bao b c và che d u thông tin
trong l p trình h ng đ i t ng. ướ ượ
Hãy nêu các khái ni m đ i t ng, l p các đ i t ng trong l p ượ ượ
trình h ng đ i t ng.ướ ượ
Hãy nêu c u trúc m t t p ch ng trình trong ngôn ng l p trình ươ
h ng đ i t ng java.ướ ượ
Anh(ch hãy nêu) c u trúc, m c đích ý nghĩa try-catch-finally
trong java và gi i thích nguyên lý ho t đ ng c a c u trúc này.
Hãy nêu các lo i ch ng trình có th phát tri n trong java ươ
Hãy nêu các quy t c chuy n đ i ki u và ng c nh ph i s d ng
quy t c chuy n đ i ki u trong ngôn ng java .
Hãy nêu khái ni m n p ch ng trong java. L y ví d minh h a
Hãy nêu khái ni m vi t đè trong java. L y ví d minh h a ế
Hãy phân bi t hai khái ni m n p ch ng và vi t đè trong java. ế
L y ví d minh h a
Đ nh nghĩa ngo i l trong l p trình và c ch b t và s lý ngo i ơ ế
l trong ngôn ng java.
Hãy nêu c u trúc phân c p x lý ngo i l trong java
Hãy nêu cách s d ng hai m nh đ throw và throws trong ngôn
ng java.
Hãy nêu c u trúc m t t p ch ng trình trong ngôn ng l p trình ươ
java.
Anh(ch ) hãy nêu m c đích, ý nghĩa c a c u trúc try-catch-finally
trong java và gi i thích nguyên lý ho t đ ng c a c u trúc này.
NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Com ế
Hãy nêu các lo i ch ng trình có th phát tri n v i ngôn ng java. ươ
Hãy nêu các quy t c chuy n đ i ki u và ng c nh ph i s d ng
quy t c chuy n đ i ki u trong ngôn ng java .
Hãy nêu khái ni m n p ch ng trong java. L y ví d minh h a
Hãy nêu khái ni m vi t đè trong java. L y ví d minh h a ế
Hãy phân bi t hai khái ni m n p ch ng và vi t đè trong java. L y ế
ví d minh h a
Trình bày c ch truy n tham s trong ngôn ng java.ơ ế
Đ nh nghĩa ngo i l trong l p trình và c ch x lý ngo i l trong ơ ế
ngôn ng java.
Hãy nêu cách s d ng hai m nh đ throw và throws trong ngôn
ng java.
Hãy xác đ nh ph m vi truy nh p c a các thành ph n private, public
trong l p các đ i t ng đ i t ng. ượ ượ
Hãy xác đ nh ph m vi truy nh p c a các thành ph n m c đ nh,
public trong l p các đ i t ng đ i t ng. ượ ượ
Hãy xác đ nh ph m vi truy nh p c a các thành ph n protected,
public trong l p các đ i t ng đ i t ng. ượ ượ
Hãy nêu ý nghĩa c a vi c quy đ nh ph m vi truy nh p c a các thành
ph n c a l p trong java.
Hãy nêu cách s d ng t khóa this và super trong java.
Nêu ý nghĩa c a t khóa final đ c s d ng đ khai báo v i các ượ
thành ph n d li u và ph ng th c(hàm) trong đ nh nghĩa l p. ươ
Nêu khái ni m giao di n (interface) trong java.
Phân bi t khái ni m giao di n (interface) và khái ni m l p trìu
t ng (abstract class) trong java. ượ
Nêu cách khai báo gói, cách s d ng gói trong java. Cho ví d minh
h a.
Ý nghĩa c a toán t kh i t o là gì? Có nh ng lo i toán t kh i t o
nào? L y ví d minh h a.
Hãy nêu cú pháp đ nh nghĩa hàm(ph ng th c) và các ph ng pháp ươ ươ
th c hi n các l i g i hàm trong java.
Câu 2: d ng cho đo n mã hãy s a các l i ho c cho bi t k t qu in ra ế ế
màn hình
Câu 1 Cho đo n ch ng trình sau? Hãy s a các l i (n u có) đ ch ng ươ ế ươ
trình ch y đ c. Khi ch y ch ng trình cho ra k t qu nh th nào? ượ ươ ế ư ế
T i sao?
class Rock {
Rock() { System.out.println("Creating Rock"); }
}
public class Simple {
public static Main(String[] args) {
NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Com ế
for( i = 0; i < 10; i+2)
{ if (i % 2 != 0) continue;
new rock(); }
}
}
Câu 2: Cho đo n ch ng trình sau? Hãy s a các l i (n u có) đ ch ng ươ ế ươ
trình ch y đ c. Khi ch y ch ng trình cho ra k t qu nh th nào? ượ ươ ế ư ế
T i sao?
Static class Tree { int height;
Tree() { System.out.println ("Planting a seedling");
height = 0; }
Tree(int i) { System.out.println("create tree with height = ” +i+ );
height = i; }
void info() { System.out.println("Tree is " + height + " feet tall"); }
void info(String s) { System.out.println (s + "Tree is " + height + " feet
tall"); }
}
public class Overloading {
public void main(String[] args) {
for(i = 0; i < 5; i++) { if ( i>2) break;
Tree t = new Tree(i);
t.info();
t.info("overloaded method"); }
new Tree(); }
}
Câu 3 D ng bài t p qu n lý (chú ý m i quan h gi a các đ i t ng là ượ
m i quan h k th a và k t t p(l p này là d li u tp c a l p khác) ) ế ế
Không gi i h n n i dung đ c ng bài t p(các đ c ng bài t p dùng ươ ươ
đ tham kh o)
Câu 1
Hãy xây d ng l p DaGiac g m có:
Các thu c tính + S c nh c a đa giác
+ M ng các s th c ch a kích th c các c nh c a đa giác ướ
Các ph ng th c: ươ
+ Nh p vào giá tr cho các c nh c a đa giác
+ Tính chu vi c a đa giác
+ Hi n th giá tr các c nh c a đa giác.
Xây d ng m t ng d ng Java đ nh p vào m t dãy g m m tam giác và:
+ Hi n th thông tin v tam giác có chu vi l n nh t.
+ Hi n th thông tin v tam giác có di n tích nh nh t.
Câu 2
NHĐT Java-Nguy n Th nh Chi n-wWw.EbookSo1.Com ế
M i m t đi m trong m t ph ng đ c xác đinh duy nh t b i hai giá tr ượ
nguyên là hoành đ và tung đ .
Hãy xây d ng l p Diem đ bi u di n các đ i t ng đi m trong m t ượ
ph ng và xây d ng ph ng th c sau: ươ
+ Toán t t o l p
+ Ph ng th c in m t đ i t ng Diemươ ượ
+ Tính kho ng cách gi a hai đi m ( )
M i tam giác trong m t ph ng đ c xác đ nh b i 3 đi m. Hãy xây d ng ượ
l p TamGiac v i 3 thu c tính riêng là 3 đ i t ng thu c l p Diem và các ượ
ph ng th c:ươ
+ Xây d ng các toán t t o l p: TamGiac();
TamGiac(Diem d1, Diem d2, Diem d3);
+ Tính di n tích tam giác
+ Tính chu vi c a tam giác
Câu 3
Hãy xây d ng l p Diem đ bi u di n các đ i t ng đi m trong m t ượ
ph ng và xây d ng ph ng th c sau: ươ
+ Toán t t o l p
+ Ph ng th c in m t đ i t ng thu c l p Diemươ ượ
+ Tính kho ng cách gi a hai đi m ()
Xây d ng l p HinhTron ch a các đ i t ng là các hình tròn v i 2 thu c ượ
tính là 1 đ i t ng thu c l p Diem đ xác đ nh tâm c a hình tròn, m t ượ
giá tr nguyên đ xác đ nh bán kinh c a hình tròn. Cài đ t các ph ng ươ
th c:
+ Các toán t t o l p: HinhTron(), HinhTron(Diem d, int bk)
+ Tính chu vi, di n tich hình tròn (; )
Câu 4
a.Thông tin v m i cá nhân bao g m : H tên, gi i tính, tu i. Hãy xây
d ng l p Nguoi ch a các đ i t ng là các cá nhân và xây d ng các ượ
ph ng th c:ươ
+ Các toán t t o l p: Nguoi(); Nguoi(String, boolean, int);
+ Ph ng th c nhap() đ nh p thông tin cho m t cá nhânươ
+ Ph ng th c in() đ in thông tin v m t cá nhânươ
Hãy xây d ng l p CoQuan ch a thông tin v các cá nhân trong m t đ n ơ
v đ c d n xu t (k th a) t l p Nguoi và có thêm các thành ph n: ượ ế
+ Thu c tính ki u String xác đ nh đ n v công tác (b môn, phòng); ơ
thu c tính ki u double xác đ nh h s l ng. ươ
+ Vi t đè ph ng th c in() l p Nguoi đ in thông tin v m t cá nhânế ươ
trong CoQuan
+ Cài đ t ph ng th c tinhLuong(CoQuan) đ tính l ng cho m i cá ươ ươ
nhân trong c quan theo công th c:ơ L ng =h s l ng x 450000ươ ươ
Câu 5
Thông tin v m i xe máy g m: S máy, s khung, giá thành, hãng s n
xu t.