THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 147

trình ng d ng, đ s d ng. Hãy

ể ử ụ

xemhttp://en.wikipedia.org/wiki/Application_programming_interface.

16.3 public và private

Hãy nh l i t Ch

ng

ớ ạ ừ

ươ 1, tôi đã nói r ng tôi s gi i thích t i sao ph ng th c

ẽ ả

ươ

ứ main l i có t

khóa public ch ? R t cu c, đã đ n lúc c n gi i thích r i.

ế

public nghĩa là ph

ng th c đ

c xét có th đ

c kích ho t t nh ng ph

ng th c khác. L a ch n còn

ươ

ứ ượ

ể ượ

ạ ừ

ươ

l i là

private, có nghĩa là ph

ng th c đang xét ch có th kích ho t đ

c trong l p mà nó đ

c đ nh

ươ

ạ ượ

ượ ị

nghĩa.
Các bi n th c th cũng có th là

ế

ể public ho c

ặ private, v i k t qu t ng t : m t bi n th c th private ch

ớ ế

ả ươ

ế

có th truy c p đ

c t bên trong l p mà nó đ

c đ nh nghĩa.

ượ ừ

ượ ị

Lý do c b n cho vi c đ t nh ng ph

ng th c và bi n th c th d

i d ng private là nh m h n ch s

ơ ả

ệ ặ

ươ

ế

ể ướ ạ

ế ự

t

ng tác gi a các l p đ có th gi m c đ ph c t p m c ch p nh n đ

c.

ươ

ể ữ ứ ộ

ứ ạ ở ứ

ượ

Ch ng h n, l p Location gi các bi n th c th d

i d ng private. Nó có các ph

ng th c truy

ế

ể ướ ạ

ươ

c p

ậ getRow là getCol, nh ng l i không cung c p ph ng th c nào đ s a đ i các bi n th c th . H qu

ư

ươ

ể ử

ế

là, các đ i t

ng Location đ u không th bi n đ i, theo nghĩa r ng chúng đ u có th đ

c chia s mà ta

ố ượ

ể ế

ể ượ

không lo chúng b c l đ ng thái không mong đ i do xu t hi n bí danh (alias).

ộ ộ ộ

Vi c đ t các ph

ng th c d

i d ng private giúp ta gi cho API đ

c đ n gi n. Các l p th

ng kèm

ệ ặ

ươ

ứ ướ ạ

ượ ơ

ườ

theo nh ng ph

ng th c tr giúp v n đ

c dùng đ th c hi n các ph

ng th c khác, song n u đ cho

ươ

ượ

ể ự

ươ

ế

nh ng ph

ng th c này tham gia vào trong API public có th s không c n thi t và d gây l i.

ươ

ể ẽ

ế

Các ph

ng th c và bi n th c th private là đ c đi m ngôn ng giúp cho l p trình viên đ m b o đ

c

ươ

ế

ượ

s

bao b c d li u

ữ ệ , theo nghĩa là các đ i t ng thu c l p này thì đ c cô l p kh i nh ng l p khác.

ố ượ

ộ ớ

ượ

16.4 Trò ch i Life

ơ

Nhà toán h c John Conway đã phát minh ra “Trò ch i Life,” mà ông g i là m t “trò ch i không ng

i”

ơ

ơ

ườ

vì ch ng c n có ng

i ch i đ l a ch n chi n thu t hay ra quy t đ nh. Sau khi thi t l p đi u ki n ban

ườ

ơ ể ự

ế

ế ị

ế ậ

đ u, b n ch vi c xem trò ch i t nó phát tri n. Nh ng đi u này hóa ra còn hay h n so v i tho t nghe;

ỉ ệ

ơ ự

ư

ơ

b n có th đ c thêm

ể ọ

http://en.wikipedia.org/wiki/Conways_Game_of_Life.

M c đích c a bài t p này là th c hi n trò ch i Life trong GridWorld. “Bàn c ” chính là là l

i ô, và

ơ

ướ

nh ng “quân c ” chính là đ i t

ng Rock (viên đá).

ố ượ

Trò ch i đ

c ti n hành theo t ng l

t, hay t ng

ơ ượ

ế

ượ

b c th i gian

ướ

. lúc b t đ u m t b

c th i gian,

ắ ầ

ộ ướ

t ng viên đá có tr ng thái “s ng” ho c “ch t”. Trên màn hình, màu s c c a viên đá này th hi n tr ng

ế

ắ ủ

ể ệ

thái c a nó. Tr ng thái c a t ng viên đá l i ph thu c vào tr ng thái c a nh ng viên

ủ ừ

lân c n

v i nó.

M i viên đá có 8 viên lân c n, tr nh ng viên n m d c theo c nh c a l

i ô. Sau đây là lu t ch i:

ủ ướ

ơ

N u m t viên đá ch t có đúng 3 viên lân c n, thì nó s s ng l i! N u không, thì nó v n ch t.

ế

ế

ẽ ố

ế

ế

N u m t viên đá s ng có 2 ho c 3 viên lân c n, thì nó v n s ng. Còn không thì nó ch t đi.

ế

ẫ ố

ế

T quy t c này s có m t vài h qu : N u t t c viên đá đ u ch t r i, thì ch ng có viên nào s ng l i. N u

ế ấ ả

ế ồ

ế

lúc đ u b n có m i m t viên đá s ng, thì nó s ch t đi. Nh ng n u có 4 viên c nh nhau x p thành hình

ẽ ế

ư

ế

ế

vuông thì chúng s gi cho nhau còn s ng, b i v y đây là m t c u trúc b n v ng.

ẽ ữ

ở ậ

ộ ấ

Đa s các c u hình đ n gi n lúc đ u s nhanh chóng ch đi, ho c đ t đ n m t c u hình n đ nh. Song

ơ

ầ ẽ

ế

ặ ạ ế

ộ ấ

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.