Lập trình hướng đối tượng trong java (Phần 4)
lượt xem 38
download
Lập trình hướng đố i tượng trong Java ́ LẬP TRINH HƢƠNG ĐÔI TƢỢ NG TRONG JAVA ́ phần 4 ̉ VIII. CHUYỂN ĐÔI KIỂU 1. Chuyển đổi giữa các kiểu phức hợp Java chỉ cho phép chuyể n đổ i đố i tượ ng thuộc lơp con cháu thành đố i tượ ng của ́ lơp cha ông (Ancestors), và không cho chuyển ngược lại ́ Giả sử bạn có đối tượng th uộc lơp con Child và cầ n chuyể n đổ i thành đố i ́ tượng thuộc lơp cha ông Parent. Java cho phép dùng đố i tượng...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình hướng đối tượng trong java (Phần 4)
- Lập trình hướng đố i tượng trong Java ́ LẬP TRINH HƢƠNG ĐÔI TƢỢ NG TRONG JAVA ́ phần 4 VIII. CHUYỂN ĐÔI KIỂU ̉ 1. Chuyển đổi giữa các kiểu phức hợp Java chỉ cho phép chuyể n đổ i đố i tượ ng thuộc lơp con cháu thành đố i tượ ng của ́ lơp cha ông (Ancestors), và không cho chuyển ngược lại ́ Giả sử bạn có đối tượng th uộc lơp con Child và cầ n chuyể n đổ i thành đố i ́ tượng thuộc lơp cha ông Parent. Java cho phép dùng đố i tượng Child một cách tự nhiên ́ ở bất cứ chỗ nào dành cho đối tượng Parent , ta không cầ n làm động tác chuyể n đổ i nào cả . Đối tượng Child có đầ y đủ thuộc tính và hành vi của đố i tượng Parent nên có thể “vào vai” đố i tượng Parent . Nế u muố n, bạn cũng có thể chuyển đổi đối tượng thuộc lơp con cháu thành đố i tượng thuộc lơp cha ông một cách tươ ng minh , nhưng không ́ ́ ̀ cầ n thiế t : Child c = new Child(); Parent p = (Parent) c; 2. Chuyển đổi kiểu sơ cấp thành kiểu phức hợp Trong gói java .lang có sẵn những lơp tương ưng vơi các kiể u sơ cấ p , có thể ́ ́ ́ dùng thay cho kiểu sơ cấp : lơp Integer thay cho kiể u int, lơp Boolean cho kiể u boolean, ́ ́ lơp Float cho kiể u float , lơp Double cho kiể u double… Lơp Number là lơp cha của mọi ́ ́ ́ ́ lơp bọc kiể u ́ Chẳ ng hạn , muố n cho kiể u int có thể xuấ t hiện như một đố i tượ ng thuộ c lơp ́ Integer : Integer intObj = new Integer(25); Lớp Integer được trang bị những phương thức giúp bạn nhiều việc mà kiểu int không thể đảm đương. - Lấ y giá tri ̣ nguyên mà đố i tượ ng intObj nắ m giữ : int i = intObj.intValue(); IX. MẢNG (ARRAY) 1
- Lập trình hướng đố i tượng trong Java Mảng là một cấu trúc lưu giữ các thành phần có cùng kiểu . Chiề u dài một mảng đượ c thiế t lập và cố đinh khi mảng đượ c tạo lúc chạy chương trinh ̣ . Mỗi thành phầ n ̀ của mảng được truy xuất bởi chỉ số của nó trong mảng Nế u bạn muố n lưu giữ các thành phầ n khác kiể u nhau hay kích thươc mảng có ́ thể thay đổ i động, dùng một Vector thay cho mảng 1. Tạo và sử dụng mảng Khai báo một biế n tham chiế u đế n mảng ArrayType[] ArrayName Khai báo một biến có kiểu ArrayType dùng để tham chiếu đến mảng , nhưng không có mảng nào thật sự tồn tại ArrayType : là kiểu dữ liệu của các thành phần chứa trong mảng và dấu [] chỉ định đó là một mảng Kiể u dữ liệu thành phầ n có thể là bấ t kỳ kiể u cơ sơ, tham chiế u ̉ // Khai báo một mảng số nguyên int[] anArrayOfInts; float[] anArrayOfFloats; boolean[] anArrayOfBooleans; Object[] anArrayOfObjects; String[] anArrayOfStrings; Tạo một mảng Bạn dùng toán tử new để tạo một mảng, nghĩa là cấp phát bộ nhớ cho các thành phầ n và gán mảng đế n biế n đã khai báo ArrayName = new ArrayType[ArraySize] ArraySize : là số thành phần của mảng Ví dụ : int[] M; // khai báo biế n mảng kiểu số nguyên // tạo một mảng số nguyên M = new int[10]; Bạn có thể kết hợp sự khai báo biến mảng và tạo mảng như sau : ArrayType[] ArrayName = new ArrayType[ArraySize] Có thể viết như sau : ArrayType ArrayName[] = new ArrayType[ArraySize] Ví dụ : int[] M = new int[10]; int M[] = new int[10]; 2
- Lập trình hướng đố i tượng trong Java Truy xuấ t thành phầ n cua mảng ̉ ArrayVar[index] index : chỉ vị trí của thành phần trong mảng cần truy xuất , có thể là giá trị, biế n hay biể u thưc, và có giá trị từ 0 đến ArraySize-1 ́ Ví dụ : M[1] = 20; Lấy kích thước mảng ArrayName.length Khơi tạo giá tri ̣ đầ u cua mảng ̉ ̉ Mảng có thể khởi tạo khi khai báo . Mảng khởi tạo là danh sách các biểu thức cách nhau bởi dấu phẩy và bao quanh b ởi dấu ngoặc móc . Mảng sẽ được khởi tạo tự động để lưu số phầ n tư mà bạn xác đinh lúc khơi tạo , không cầ n sư dụng new . Chiề u ̣ ̉ ̉ ̉ dài của mảng là số giá trị giữa { và } Ví dụ : boolean[] answers = { true, false, true, true, false }; int month_days[] = {31,28,31,30,31,30,31,31,30,31,30,31}; Ví dụ 1: Tạo và sử dụng mảng có thành phần kiểu cơ sở public class ArrayDemo { public static void main(String[] args) { int[] anArray; anArray = new int[10]; for (int i = 0; i < anArray.length; i++) { anArray[i] = i; System.out.print(anArray[i] + " "); } System.out.println(); } } Ví dụ 2 : Tạo và sử dụng mảng có thành phần kiểu tham lớp String public class ArrayOfStringsDemo { public static void main(String[] args) { String[] anArray = { "String One", "String Two", "String Three" }; for (int i = 0; i < anArray.length; i++) { System.out.println(anArray[i].toLowerCase()); 3
- Lập trình hướng đố i tượng trong Java } } } 2. Mảng đa chiều (Arrays of Arrays) Mảng có thể chứa các thành phầ n là mảng. Để khai báo một biế n mảng đa chiề u cầ n xác đinh mỗi chiề u của mảng bằ ng cách sư dụng các cặp dấ u ngoặc vuông. ̣ ̉ Ví dụ : int M[][] = new int[4][5]; int[][] M = new int[4][5]; M là một mảng 4x5 thành phần là các số nguyên. Khi cấ p phát bộ nhớ cho mảng đa chiề u, bạn có thể chỉ định chiều dài của mảng chính, và không chỉ định chiều dài của mảng con cho đến khi tạo chúng Ví dụ : int M[][] = new int[3][]; M[0] = new int[3]; M[1] = new int[4]; M[2] = new int[2]; Ví dụ 1 : public class ArrayOfArraysDemo { public static void main(String[] args) { String[][] cartoons = { { "Flintstones", "Fred", "Wilma", "Pebbles", "Dino" }, { "Rubbles", "Barney", "Betty", "Bam Bam" }, { "Jetsons", "George", "Jane", "Elroy", "Judy", "Rosie", "Astro" }, { "Scooby Doo Gang", "Scooby Doo", "Shaggy", "Velma", "Fred", "Daphne" } }; for (int i = 0; i < cartoons.length; i++) { System.out.print(cartoons[i][0] + ": "); for (int j = 1; j < cartoons[i].length; j++) { 4
- Lập trình hướng đố i tượng trong Java System.out.print(cartoons[i][j] + " "); } System.out.println(); } } } Chú ý là tất cả mảng con có chiều dài khác nhau . Tên của mảng con là cartoons[0], cartoons[1]... Ví dụ 2 : public class ArrayOfArraysDemo2 { public static void main(String[] args) { int[][] aMatrix = new int[4][]; for (int i = 0; i < aMatrix.length; i++) { aMatrix[i] = new int[5]; for (int j = 0; j < aMatrix[i].length; j++) { aMatrix[i][j] = i + j; } } for (int i = 0; i < aMatrix.length; i++) { for (int j = 0; j < aMatrix[i].length; j++) { System.out.print(aMatrix[i][j] + " "); } System.out.println(); } } } 3. Sao chép mảng (Copying Arrays) Sử dụng phương thức arraycopy của System sao chép dữ liệu từ một mảng đến một mảng khác. Phương thưc arraycopy yêu cầ u 5 tham đố i : ́ public static void arraycopy(ArrayType[] source, int srcIndex, ArrayType[] dest, 5
- Lập trình hướng đố i tượng trong Java int destIndex, int length) Hai tham đố i Object chỉ đinh mảng nguồ n và mảng đích . Ba tham đố i int chỉ vi ̣ trí ̣ bắ t đầ u trong mỗi mảng nguồ n và đích , và số thành phần để sao chép . Biể u đ ồ này minh hoạ việc sao chép : Ví dụ : public class ArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } } Biể u đồ sau mô tả cho ví dụ trên : Chú ý rằng mảng đích phải được cấp phát và phải đủ lớn để chứa dữ liệu được sao chép 6
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình lập trình hướng đối tượng - PGS TS Trần Đình Quế & KS Nguyễn Mạnh Hùng
173 p | 2241 | 1086
-
Giáo trình Lập trình hướng đối tượng trong Java
33 p | 142 | 30
-
Bài giảng Lập trình hướng đối tượng trong C #: Chương 5 - GV. Phạm Mạnh Cương
22 p | 124 | 12
-
Bài giảng Lập trình Net với C# - Chương 3: Lập trình hướng đối tượng (OOP) với C#
24 p | 138 | 12
-
Bài giảng Lập trình hướng đối tượng trong C #: Chương 2 - GV. Phạm Mạnh Cương
23 p | 90 | 11
-
Bài giảng Lập trình hướng đối tượng trong C #: Chương 3 - GV. Phạm Mạnh Cương
32 p | 101 | 11
-
Bài giảng Lập trình hướng đối tượng trong C #: Chương 6 - GV. Phạm Mạnh Cương
12 p | 104 | 10
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng trong C++ - Phạm Thị Quỳnh
12 p | 79 | 6
-
Bài giảng Lập trình .Net với VB.NET - Chương 5: Lập trình hướng đối tượng trong VB.NET
41 p | 81 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 0 - ThS. Thái Kim Phụng
15 p | 60 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 15 | 3
-
Giáo trình Lập trình hướng đối tượng - Nghề: Lập trình máy tính - CĐ Kỹ Thuật Công Nghệ Bà Rịa-Vũng Tàu
68 p | 48 | 3
-
Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 2: Phương pháp lập trình hướng đối tượng
35 p | 8 | 3
-
Bài giảng PHP và MySQL - Chương 4: Lập trình hướng đối tượng trong PHP
22 p | 33 | 2
-
Bài giảng Lập trình Java - Chương 3: Lập trình hướng đối tượng trong Java
34 p | 31 | 2
-
Bài giảng Lập trình hướng đối tượng: Chương 0 - Phạm Mạnh Cương
4 p | 44 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn