Lap Trinh java bai giang chuong 3

63 343 0
Lap Trinh java  bai giang chuong 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình cơ bản với Java Tác giả: PGS.TS Trần Văn Lăng, Ths. Chu Nguyên Hoàng Minh Giúp các bạn tiếp cần gần hơn với bộ môn lập trình để trở thành một Lập trình viên suất sắc Lập trình cơ bản với Java Tác giả: PGS.TS Trần Văn Lăng, Ths. Chu Nguyên Hoàng Minh Giúp các bạn tiếp cần gần hơn với bộ môn lập trình để trở thành một Lập trình viên suất sắc

Môn học: Lập trình với Java Chương III: Đối tượng Java Th Mục đính – Yêu cầu: Sau học xong sinh viên nắm được:  Lập trình hướng đối tượng với java  Lớp đối tượng  Kế thừa  Đa hình  Package, Interface Số tiết lên lớp: Bảng phân chia thời lượng: Stt 01 02 03 04 Nội dung ập trình hướng đối tượng với ava ớp đối tượng ế thừa đa hình Package, Interface Số tiết Trọng tâm giảng:  Lập trình hướng đối tượng với java  Lớp đối tượng  Kế thừa  Package 93 3.1 Khái niệm lập trình hướng đối tượng ([1] trang 33, [2] trang 85) 3.1.1 Khái niệm i chương trình máy tính đ u g m c ph n: ph n mã lệnh ph n liệu Một ố chương trình đặt trọng tâm ph n mã lệnh, ố khác đặt trọng tâm ph n liệu Từ đ n đến mô hình ết định nên c u trúc chương trình : trả lời cho câu hỏi “Đi u xả ra” cho “Cái chị tác động” hình hướng xử lý chương trình bao g m ch ô hình gọi mô i thao tác xử lý (mã lệnh) Nhưng chương trình ngày lớn phức tạp kh khăn đ sử dụng mô hình thứ nh t Vì mô hình thứ đưa đ mô hình hướng đối tượng Chương trình bạn xây dựng dựa vào liệu ph n giao diện định nghĩa cho ph n liệu đ Phương pháp giải từ xuống (Top-Down) gọi “lập trình hướng c trúc” (Str ct re Programming) N xác định chức chương trình chức nà phân thành đơn vị nhỏ mức độ th p nh t Bằng kỹ thuật nà chương trình c u trúc theo hệ thống phân c p module M i module có đ u vào riêng đ u riêng Trong m i module, u n có chi hướng x ống theo c u trúc Phương pháp OOP trừ tượng lớp từ đối tượng giới thực chương trình bạn xây dựng từ lớp Phương pháp OOP cố gắng quản lý việc thừa kế phức tạp v n đ thực tế Đ làm việc nà phương pháp OOP che gi u vài thông tin bên đối tượng OOP tập tr ng trước hết liệu R i gắn kết phương thức thao tác liệu Lập trình hướng đối tượng (OOP) phương pháp phát tri n ph n m m Những ngôn ngữ OOP không bao g m cú pháp trình biên dịch (compiler) mà có môi trường phát tri n toàn diện ôi trường bao g m thư viện thiết kế tốt, thuận lợi cho việc sử dụng đối tượng Hãy xem xét tình c n tri n khai thành hệ thống máy tính: m a bán xe V n đ vi tính hóa việc m a bán xe bao g m gì? 94 Những thực th rõ ràng nh t liên Các ki an đến việc m a bán xe là: xe Nhân viên bán hàng Khách hàng H a đơn Những hoạt động liên quan đến việc mua bán: Nhân viên bán hàng đưa khách hàng tham an phòng trưng bà Khách hàng chọn lựa xe hách hàng đặt h a đơn Khách hàng trả ti n Chiếc xe trao cho khách hàng M i v n đ chia thành nhi u yếu tố gọi Đối tượng (Objects) Chẳng hạn ví dụ khách hàng xe nhân viên bán hàng đối tượng Lập trình viên luôn cố gắng tạo kịch (scenarios) thật quen thuộc với tình thực tiễn Đ vai trò kỹ thuật hướng đối tượng Chúng ta sử dụng kỹ thuật hướng đối tượng đ ánh xạ thực th gặp phải đời sống thực thành đối tượng mối quan hệ chúng Phương pháp lập trình hướng đối tượng có khả a : - Mô giới thực cách tự nhiên đối tượng mối quan hệ chúng, thuận tiện cho việc thiết kế hệ thống phức tạp Phương pháp nà tiến hành tiến trình phân tích, thiết kế phát tri n v n đ khuôn khổ khái niệm thuật ngữ thuộc lĩnh vực ứng dụng Vì thế, có tương hợp cao nh t việc phát tri n ứng dụng v n đ thực tế - Thừa kế tái sử dụng mã có sẵn cách dễ dàng, giúp tiết kiệm công sức, chi phí nâng cao t người lập trình, dễ bảo trì, dễ nâng c p, mở rộng, giảm thi u l i v n đ liên an đến việc bảo trì ứng dụng khả tái dụng đối tượng 95 Lập trình hướng đối tượng đ cập đến liệu thủ tục xử lý liệu theo quan m đối tượng nh t Lập trình hướng đối tượng xem xét liệ đối tượng đơn vị độc lập, với ch t riêng đặc tính thực th y Bây khảo sát thuật ngữ đối tượng (Object), thuộc tính (Attribute) phương thức (method) 3.1.2 Trừu tượng hóa (Abstraction) Con người đơn giản hoá độ phức tạp giới thực thông qua phân c p trừu tượng Nhìn bên ngoài, máy tính có hộp u n, hình, bàn phím, chuột , phận lại bao g m phận nhỏ hộp u n có bảng mạch chứa CPU, mạch giao tiếp gắn n đĩa cứng Nhờ trừ tượng hoá người dùng quan tâm mối quan hệ, giao tiếp phận, mà không quan tâm c u trúc chi tiết bảng mạch máy tính Vậy trừ tượng trình xác định khía cạnh c n thiết đối tượng, hệ thống bỏ qua khía cạnh không quan trọng Đi đ c nghĩa phải tập tr ng xác định đối tượng " ?" n " àm ?" nghĩa đối tượng bao g m thuộc tính phương thức ? trước định cách n thực thi Sự phân c p trừ tượng hệ thống phức tạp cho phép bạn phân lớp thành ph n c ý nghĩa hệ thống phức tạp, chia nhỏ chúng thành thành ph n đơn giản có th quản lý Ph n liệu từ chương trình hướng xử lý kinh n trừ tượng hoá thành đối tượng thành ph n Dãy xử lý trở thành thông điệp đối tượng Bạn c th xem đối tượng nà thực th độc lập tiếp nhận ê c từ bên Đâ ph n cốt l i lập trình hướng đối tượng Hãy khảo át chương trình ứng dụng cho việc m a bán xe n i Chương trình phải xu t h a đơn cho xe bán cho khách hàng Đ xu t h a đơn c n thông tin chi tiết v khách hàng Vậ bước thứ nh t xác định đặc tính khách hàng Một vài đặc tính gắn kết với khách hàng là: Họ Tên Địa 96 Ngày sinh Số điện thoại Email Chi u cao t c… Từ danh sách k xác định đặc tính thiết yế ứng dụng Bởi đ cập đến khách hàng mua xe, chi tiết thiết yếu là: Họ Tên Địa Còn chi tiết khác (chi cao mà t c …) không an trọng ứng dụng Ngoài c n phải xác định đặc tính nhân viên bán xe, ki xe bán Bên cạnh đặc tính khách hàng xe nhân viên bán hàng c n liệt kê hành động thực Công việc xu t h a đơn đòi hỏi hành động sau: Nhập họ tên khách hàng Nhập địa khách hàng Nhập ki u xe Nhập tên nhân viên bán xe Xu t h a đơn với định dạng yêu c u h ng thông tin bên ưới cho th y thuộc tính hành động liên an đến h a đơn: Các thuộc tính Tên khách hàng Địa khách hàng Kiểu xe bán Tên nhân viên bán xe Giá tiền Các hành động 97 Nhập tên khách hàng Nhập địa khách hàng Nhập kiểu xe Nhập tên nhân viên bán xe Nhập giá tiền Xuất hóa đơn Vậy trừ tượng hóa liệ trình xác định nhóm thuộc tính hành động liên an đến thực th cụ th , xét mối tương an với ứng dụng phát tri n Những m việc Trừ tượng hóa là: Tập trung vào v n đ Xác định đặc tính thiết yếu hành động c n thiết Giảm thi u chi tiết không c n thiết Việc trừ tượng hóa liệu c n thiết, không th mô t t hành động thuộc tính thực th V n đ m u chốt tập tr ng đến hành vi cốt yếu áp dụng chúng ứng dụng 3.1.3 Triển khai mô hình hướng đối tượng t ngôn ngữ lập trình hướng đối tượng đ c chế cho ph p bạn tri n khai mô hình hướng đối tượng Đ tính đ ng g i kế thừa tính đa hình 3.1.3.1 Tính đóng gói (Encapsulation) Đâ chế dùng vỏ bọc kết hợp ph n liệu thao tác liệ đ (ph n mã lệnh) thành th thống nh t, tạo nên an toàn, tránh việc sử dụng không thiết kế, bảo vệ cho mã lệnh liệu chống việc truy xu t từ đoạn mã lệnh bên Lớp (Class) rong Java tính đ ng g i th qua khái niệm lớp (Class) Lớp hạt nhân Java, tạo n n tảng cho lập trình hướng đối tượng Java Lớp định nghĩa hai ph n liệu (các thuộc tính) hành vi (các phương thức), gọi thành viên lớp ùng ch ng cho đối tượng loại Từ phân tích hệ thống người ta trừu 98 tượng nên lớp Sa đ đối tượng tạo theo khuôn m u lớp M i đối tượng thuộc lớp có liệ hành vi định nghĩa cho lớp đ giống inh từ kh ôn đúc lớp đ Vì mà lớp khuôn m u đối tượng đối tượng th lớp Lớp c trúc logic đối tượng c u trúc vật lý Phương thức định nghĩa cho việc sử dụng liệ Đi định nghĩa thông nà c nghĩa hoạt động lớp a phương thức Giả sử bạn phải tạo giao diện với người dùng c n có nút nh n (Button) Vậ trước hết bạn xây dựng lớp Button với thuộc tính nhãn ghi nút, chi u rộng, chi u cao, màu nút đ ng thời định hành vi nút nh n nghĩa nút nh n c n phản ứng chọn, phát yêu c c đổi màu hay nh p nháy chi không Với lớp B tton vậy, bạn có th tạo nhanh chóng nút nh n cụ th cho mục đích khác nha Xét hệ thống bán xe hành động thuộc tính sau chung cho hóa đơn cho khách hàng m a xe Ví th , chúng có th nhóm lại thành lớp Lớp Hóa đơn Các thuộc tính Tên khách hàng Địa khách hàng Kiểu xe bán Tên nhân viên bán xe Giá tiền Các hành động Nhập tên khách hàng Nhập địa khách hàng Nhập kiểu xe Nhập tên nhân viên bán xe Nhập giá tiền Xuất hóa đơn Những thuộc tính hành động chung đối tượng h a đơn nhóm lại đ tạo nên đơn vị nh t gọi lớp H a đơn Gói (Package) 99 Gói kỹ thuật Java ùng đ phân hoạch không gian tên lớp, giao diện thành vùng dễ quản lý th tính đ ng g i Java Đối tượng (Object) Một lớp nguyên m u phác họa thuộc tính hành động có th thực th Đ có th sử dụng thực th mà lớp định nghĩa phải tạo đối tượng từ lớp đ Lớp khái niệm, khuôn m đối tượng th hiện, trường hợp cụ th lớp Khi người mua xe cửa hàng, cửa hàng y có khách hàng Vào thời m y, đối tượng giống lớp H a đơn tạo Đối tượng phải có giá trị thực thuộc tính Chẳng hạn khách hàng có tên ‘X ân’ ống ‘Đà nẵng’ m a xe ki ‘Hon a Civic’ từ nhân viên bán hàng tên ‘Đông’ với giá ti n là50 triệu K từ lúc đối tượng hữu, thuộc tính giá trị xác định, hành động định nghĩa cho đối tượng nà thực thi M i đối tượng có đặc tính riêng mô tả đối tượng y gì, hành động Thuộc tính (Attribute) M i thuộc tính mộtđặc tính mô tả đối tượng Như thế, thuộc tính nắm giữ giá trị liệu đối tượng chúng định nghĩa đối tượng cụ th Bởi lớp khuôn m u thuộc tính lớp không th nắm giữ giá trị Một thuộc tính có th gán giá trị sau đối tượng dựa lớp tạo Đ có th lư giữ chi tiết h a đơn th (đối tượng) lớp ‘H a đơn’ phải tạo Phương thức (Method) Phương thức xác định v cách thức thực thi hoạt động yêu c u Các phương thức xác định cách thức thao tác liệu đối tượng Bởi phương thức thực thi thực tế hoạt động, có th áp dụng 100 cho đối tượng Một phương thức thuật toán xác định hoạt động thực yêu c u Thông điệp (Message) Đ yêu c u hoạt động cụ th đ thực hiện, thông điệp gởi tới đối tượng nơi hoạt động nà định nghĩa Một thông điệp lời yêu c u hoạt động Khi đối tượng nhận thông điệp, thực phương thức tương ứng Sự kiện (Event) Một kiện việc xảy cho đối tượng thời m Đ đáp ứng lại kiện đối tượng thực nhi phương thức Nói cách khác, kiện o đối tượng gây cho đối tượng khác Chẳng hạn click ch ột trái nút Ví dụ: Một bóng bị xì xảy kiện làm thủng bóng Hay kiện người sử dụng nh n nút bàn phím Sự phản h i kiện việc hi n thị ký tự tương ứng hình 3.1.3.2 Tính kế thừa (Inheritance) C đối tượng tương tự nha với ố th ộc tính phương thức mối an hệ Nế mức độ tượng tự nha lớn thật hữ ích ùng ch ng đặc tính nà hừa kế cho ph p định nghĩa lớp lớp ch ng gọi lớp cha (S per Cla ) lớp thừa kế đặc tính ch ng từ lớp cha gọi lớp (S b Cla ) Q trình hình thành lớp cha gọi khái át hoá (Generalization) lớp ch ên biệt hoá (Specialization) ớp thừa kế t t th ộc tính phương thức toàn cục (p blic) bảo vệ (protecte ) mối mối an hệ riêng an hệ lớp cha bổ ng th ộc tính phương thức nhiên lớp c th định nghĩa lại phương thức thừa kế Vậy tính kế thừa khả xâ ựng lớp từ lớp c hi lớp đ ng gói số liệ phương thức, lớp kế thừa c u trúc liệ phương 101 thức lớp mà kế thừa Ngoài có th bổ sung liệ phương thức riêng Nhờ tính kế thừa mà hệ thống hướng đối tượng có th thực tái sử dụng mã Nó r t quan trọng ứng dụng cho khái niệm phân c p (mô hình Top-Down) Không sử dụng phân lớp, m i lớp phải định nghĩa t t liệ phương thức cách rõ ràng Nếu sử dụng kế thừa, m i lớp c n định nghĩa thêm đặc trưng Ví dụ: Lớp QuanLy NVBanHang lớp cụ th , có thuộc tính, thao tác giống nha lớp NhanVien, ví dụ thuộc tính maNV ho en thao tác them() xoa() iaChi nga Sinh… c a() hien hi()… m i lớp có thêm thuộc tính, thao tác mối quan hệ bổ sung ụ: Xe có th xem lớp xe Pergo t BW tượng lớp xe Các xe đ u có th lái lớp xe đạp xe má Dream đối ừng lại Từ lớp xe trên, ta có th xây dựng xe ôtô Xe ôtô c thêm động c th tự khởi động… 102 } // Gán chi u cao cho Cylinder public void setHeight( double cylinderHeight ){ height = ( cylinderHeight >= ? cylinderHeight:0 ); } // L y chi u cao Cylinder public double getHeight(){ return height; } // Tính diện tích xung quanh Cylinder public double area(){ return * super.area() + * Math.PI * radius *height; } // Tính th tích Cylinder public double volume(){ return super.area() * height; } // Bi u diễn Cylinder chu i public String toString(){ return super.toString() + "; Height = " + height; } // trả v tên shape public String getName(){ return "Cylinder"; } } // end class Cylinder // Test.java // Ki m tra tính kế thừa Point, Circle, Cylinder với // interface Shape 141 // hai báo thư viện import java.text.DecimalFormat; public class Test{ // Ki m tra tính kế thừa đối tượng hình học public static void main( String args[] ){ // Tạo đối tượng hìnhhọc Point point = new Point( 7, 11 ); Circle circle = new Circle( 3.5, 22, ); Cylinder cylinder = new Cylinder( 10, 3.3, 10, 10 ); // Tạo mảng đối tượng hình học Shape arrayOfShapes[] = new Shape[ ]; // arrayOfShapes[ ] đối tượng Point arrayOfShapes[ ] = point; // arrayOfShapes[ ] đối tượng Circle arrayOfShapes[ ] = circle; // arrayOfShapes[ ] đối tượng cylinder arrayOfShapes[ ] = cylinder; // L y tên bi u diễn m i đối tượng hình học String output =point.getName() + ": " + point.toString() + "\n" + circle.getName() + ": " + circle.toString() + "\n" + cylinder.getName() + ": " + cylinder.toString(); DecimalFormat precision2 = new DecimalFormat( "0.00" ); // duyệt mảng arrayOfShapes l y tên, diện tích, th tích // m i đối tượng hình học mảng for ( int i = 0; i < arrayOfShapes.length; i++ ){ output += "\n\n" + arrayOfShapes[ i ].getName() + ": " + arrayOfShapes[ i].toString() +"\n Area = " +precision2.format( arrayOfShapes[ i ].area() ) + "\nVolume = " +precision2.format( arrayOfShapes[ i ].volume() ); } System.out.println(output); System.exit( ); 142 } } // end class Test Kết thực thi chương trình: 3.7 Chuyển đổi kiểu ac ạng ch n đổi ki ki ữ liệ tham chiế a : 3.7.1 Chuyển đổi gi a kiểu Java tự động ch n đổi trị th ộc ki c nh c Chẳng hạn ch đ thành trị th ộc ki n đổi short int thành long ch double, hay số nguyên thành số thực Các trường hợp ch khác lớn n đổi float thành n đổi vậ không làm m t mát thông tin rường hợp ch n đổi ki hort int long) việc ch int kết n đổi ki n đổi ta phải tự làm l kết o ble) thành ố ng ên (b te lớn thành ki ả tính toán c th thiế xác m ốn ch í ụ: ố thực (float nhỏ long thành o đ Java không tự động thực Nế a : New pe) Val e ả ng ên ph p chia hai ố thực x :int i = (int) (x / y); 3.7.2 Chuyển đổi gi a kiểu tham chiếu Giả bạn c đối tượng th ộc lớp Chil c n ch n đổi thành đối tượng th ộc lớp cha ông Parent Java cho ph p ùng đối tượng Chil cách tự nhiên b t ch ành cho đối tượng Parent ta không c n làm động tác ch tượng Chil c đ n đổi Đối đủ th ộc tính hành vi đối tượng Parent nên c th “vào vai” đối tượng Parent Nế m ốn bạn c th ch n đổi đối tượng th ộc lớp chá thành đối tượng th ộc lớp cha ông cách tường minh không c n thiết : Child c = new Child();Parent p = (Parent) c; Java cho ph p ch lớp cha ông không cho ch n đổi đối tượng th ộc lớp chá thành đối tượng n ngược lại 3.7.3 Chuyển đổi kiểu thành kiểu tham chiếu rong g i ava.lang c ki : lớp Integer với ki ẵn lớp tương ứng với ki int lớp Boolean với ki 143 gọi lớp bọc boolean lớp Float với ki float lớp Double với ki o ble… ớp N mber lớp cha lớp bọc ki Các lớp bọc ki u cung c p hàm giúp bạn nhi u việc mà ki Chẳng hạn m ốn cho ki không th đảm đương int chuy n thành đối tượng th ộc lớp Integer : Integer intObj = new Integer(25); giá trị ng ên mà đối tượng intOb nắm giữ : int i = intObj.intValue(); 144 ài tập Câu Chọn phát biểu a Lớp Class lớp cha lớp Object b Lớp Object lớp final c Mọi lớp đ kế thừa trực tiếp gián tiếp từ lớp Object d T t câ đ u sai Câu Đoạn mã sau sai chổ nào? a Đoạn mã l i b Đi u kiện câu lệnh if phải có ki u boolean thay Boolean c Chỉ số câu lệnh for int thay Integer Câ b) c) Câu Hãy cho biết kết xuất đoạn chương trình sau 145 a S1 b S2 c S1S2 d S2S1 Câu Chọn phát biểu cho hàm khởi tạo a Một lớp kết thừa hàm khởi tạo từ lớp cha b Trình biên dịch tự động tạo hàm khởi tạo mặc định lớp không định nghĩa hàm khởi tạo c T t hàm khởi tạo có ki u trả v void d T t câ đ u sai Câu Cho biết kết xuất đoạn chương trình sau a S1 b S2 c null d S1S2 Câu Chọn thứ tự thành phần tập tin nguồn a Câu lệnh import, khai báo package, khai báo lớp b hai báo package đ u tiên; thứ tự câu lệnh import khai báo lớp tùy ý c Khai báo package, câu lệnh import, khai báo lớp d Câu lệnh import trước tiên; thứ tự khai báo package khai báo lớp tùy ý Câu Cho đoạn mã sau: 146 : class Q6{ 2: public static void main(String args[]){ 3: Holder h = new Holder(); 4: h.held = 100; 5: h.bump(h); 6: System.out.println(h.held); 7: } 8:} : class Holder{ 10 : public int held; 11 : public void bump(Holder theHolder){ 12 : 13 : theHolder.held++; } 14 :} Giá trị in câu lệnh dòng thứ là: a b c 100 d 101 Câu Cho đoạn mã sau: : class Q7{ 2: public static void main(String args[]){ 3: double d = 12.3; 4: Decrementer dec = new Decrementer(); 5: dec.decrement(d); 6: System.out.println(d); 7: } 8:} : class Decrementer{ 10 : public void decrement(double decMe){ decMe = decMe – 1.0; 11 : 12 : } 147 13 :} Giá trị in câu lệnh dòng thứ là: a 0.0 b -1.0 c 12.3 d 11.3 Câu Chọn câu phát biểu a Một lớp trừ tượng không th chứa phương thức final b Một lớp final không th chứa phương thức trừ tượng c Cả a) b) đ d Cả a) b) đ u sai Câu 10 Chọn cách s a để đoạn mã sau biên dịch : final class Aaa 4:{ 5: int xxx; 6: void yyy(){xxx = 1;} 7:} 8: 9: 10 :class Bbb extends Aaa 11 :{ 12 : final Aaa finalRef = new Aaa(); 13 : 14 : final void yyy() 15 : { 16 : S tem.o t.println(“In metho 17 : finalRef.xxx = 12345; 18 : ()”); } 19 :} a Xóa từ final dòng b Xoá từ final dòng 10 c Xóa từ final dòng 10 148 d Không c n phải chỉnh sửa Câu 11 Chọn phát biểu cho chương trình sau : class HasStatic 2:{ 3: private static int x = 100; 4: 5: public static void main(String args[]) 6: { 7: HasStatic hs1 = new HasStatic(); 8: hs1.x++; 9: HasStatic hs2 = new HasStatic(); 10 : hs2.x++; 11 : hs1 = new HasStatic(); 12 : hs1.x++; 13 : HasStatic.x++; 14 : S tem.o t.println(“x 15 : “ x); } 16 :} a Chương trình chạy cho kết x = 102 b Chương trình chạy cho kết x = 103 c Chương trình chạy cho kết x = 104 d T t câ đ u sai Câu 12 Cho đoạn mã sau: : class SuperDuper 2:{ 3: void aMethod(){} 4:} 5: : class Sub extends SuperDuper 149 7:{ 8: void aMethod(){} 9:} Hãy chọn từ khóa phạm vi hợp lệ đứng trước aMethod() dòng a default b protected c public d T t câ đ Câu 13 Cho đoạn chương trình sau : class Cruncher{ 2: void crunch(int i){ S tem.o t.println(“int ver ion”): 3: 4: } 5: void crunch(String s){ S tem.o t.println(“String ver ion”); 6: 7: } 8: 9: public static void main(String[] args){ 10 : Cruncher crun = new Cruncher(); 11 : char ch 12 : crun.crunch(ch); 13 : ‘p’; } 14 :} a Dòng không biên dịch phương thức trả v ki u void không th overridde b Dòng 12 không biên dịch phiên phương thức crunch() nhận vào tham số ki u char c Đoạn mã biên dịch ẽ phát sinh Exception dòng 12 d Chương trình chạy in kết quả: int version Câu 14 Chọn phát biểu a Tham chiếu đối tượng có th chuy n đổi ph p gán không th thực phép gọi phương thức 150 b Tham chiếu đổi tượng có th ép ki u phép gọi phương thức không th thực phép gán c Tham chi u đối tượng có th chuy n đổi phép gọi phương thức phép gán t ân theo quy tắc khác d Tham chiếu đối tượng có th chuy n đổi phép gọi phương thức phép gán tuân theo quy tắc giống Câu 15 Tạo lớp MyDate g m thuộc tính số nguyên g m: Ngày tháng năm (date, month, year) Câu 16 Viết phương thức set/get cho thuộc tính lớp Câu 17 Viết phương thức nhập thuộc tính từ bàn phím cho lớp MyDate Câu 18 Viết phương thức hi n thị thuộc tính ngà tháng năm cho lớp MyDate (theo cách: ngà /tháng/năm (Ví ụ: 17/01/2008)) Câu 19 Viết hàm main thực lệnh đ ki m tra phương thức lớp xây dựng cách: Tạo đối tượng lớp toán tử “new”: MyDate d = new MyDate(); Gọi phương thức lớp toán tử “.”: ten_ph ong_th c( _tham_ o); //ne co tham so ? Nhap [...]... dụng biên dịch từ tập tin java là: D:/libjava Và đ u tập tin java khai báo lớp thuộc gói: package nhap.nhapchuoi; Như vậy các tập tin class sẽ chứa trong thư mục: D:/libjava/nhap/nhapchuoi ụng gói 3. 5.2 Đ sử dụng các lớp trong g i Java đưa ra lệnh import đ lớp nào đ ha toàn bộ g i c th th tr được nghĩa là bạn c th ử ụng lớp trực tiếp không c n ùng ch m x t rong tập tin ng n Java lệnh import đặt nga... Sự đa hình cho ph p bạn tạo ra những đoạn mã lệnh gọn gàng, dễ đọc, dễ hi u và có tính ổn định Java là ngôn ngữ lập trình hướng đối tượng nên c đ viện lớp Java được cung c p khá đ đủ các tính năng trên thư đủ cho người lập trình đ bắt đ u một dự án mới 104 3. 2 Lớp và đối tượng ([1] trang 36 , [2] trang 85) 3. 2.1 Lớp (Class) a Khái niệm Chúng ta có th xem lớp như một khuôn m u (template) của đối tượng... Math.sqrt(x) Kiểu giá trị trả về Cùng ki với x Số thực Số thực Số thực Số thực Số thực Số thực Số ng ên Số thực Số thực ụ : double s = Math.pow(r,2)*Math.PI; 3. 3 Hàm 3. 3.1 Cách khai báo hàm và phạm vi truy xuất Hàm ha phương thức (method) trong Java là khối lệnh thực hiện các chức năng các hành vi xử lý của lớp lên vùng dữ liệu hai báo phương thức: ... ổn định Java ngôn ngữ lập trình hướng đối tượng nên c đ viện lớp Java cung c p đ đủ tính thư đủ cho người lập trình đ bắt đ u dự án 104 3. 2 Lớp đối tượng ([1] trang 36 , [2] trang 85) 3. 2.1 Lớp... ng ên Số thực Số thực ụ : double s = Math.pow(r,2)*Math.PI; 3. 3 Hàm 3. 3.1 Cách khai báo hàm phạm vi truy xuất Hàm phương thức (method) Java khối lệnh thực chức hành vi xử lý lớp lên vùng liệu hai... kết nối // vào sở liệu trước hủy đối tượng // … } } 3. 3.5 Từ khóa this ([2] trang 131 ) Biến this biến ẩn t n t t lớp ngôn ngữ java Một class Java t n biến this, biến this sử dụng chạy tham khảo

Ngày đăng: 19/02/2016, 22:02

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan