1. Trang chủ
  2. » Giáo án - Bài giảng

Lập trình hướng đối tượng

224 6 0

Đ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

Thông tin cơ bản

Tiêu đề Lập trình hướng đối tượng
Trường học Hutech University
Chuyên ngành Object-Oriented Programming
Thể loại Sách giáo trình
Năm xuất bản 2021
Thành phố Ho Chi Minh City
Định dạng
Số trang 224
Dung lượng 10,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 2.2.4 Th (21)
  • 3.2.2 Java và Web (29)
  • 3.3.7 Không gian nhúng (34)
  • 3.3.8 Các (34)
  • 3.7.1 M (41)
  • 4.8.3 Code static (61)
  • BÀI 7: EXCEPTION (8)
  • BÀI 8: INTERFACE VÀ PACKAGE (8)
    • 8.1 INTERFACE LÀ GÌ? (108)
    • 8.2 KHAI BÁO INTERFACE (109)
    • 8.6 Comparable Interface (114)
    • 8.7 Comparator Interface (115)
    • 8.8 PACKAGE LÀ GÌ? (118)
      • 9.2.2 Collections Framework (132)
      • 9.2.3 Iterator ( ) trong Java (0)
      • 9.3.1 Interface Collections (133)
      • 9.3.2 List Interface (134)
      • 9.3.3 Set Interface trong Java (139)
      • 9.3.4 Map Interface (142)
      • 9.3.5 SortedMap Interface (153)
      • 9.3.6 Class Collections (158)
      • 9.3.7 LinkedList trong Java (158)
      • 9.3.8 ArrayList trong Java (162)
      • 9.3.9 HashSet (166)
      • 9.3.10 TreeSet (173)
      • 9.3.11 HashMap (182)
      • 9.3.12 TreeMap (193)
      • 9.4.1 Template Method là gì? (0)
    • 10.1 KHÁI (0)

Nội dung

Th

Thao thác thông (send a message) chính là hành yêu thi hành vi

Ví x là HOCSINH < Name, Age> x.VietLyLich();

- Là ràng và thao tác trên thành tránh các tác bên ngoài này là

Trong lập trình, thao tác có thể được phân loại thành riêng (private) và chung (public) Thao tác riêng chỉ có thể truy cập các thành phần riêng, trong khi thao tác chung cho phép truy cập từ các trình khác Điều này đảm bảo rằng các thành phần riêng không thể bị truy cập trực tiếp từ bên ngoài, bảo vệ tính toàn vẹn của dữ liệu.

- Ví d : sinh viên mã sinh viên, tên, ngày sinh, g tính, 1, 2, o lý o Xem lý o Tính trung bình o tra o tra o

- Do tính gói nên riêng bên trong che bên ngoài tác thông qua các giao (public, interface methods)

- Thông trong các ta hay các set()/get() bên ngoài có xem các bên trong

Ta có xây các và có thông qua Khi là l

Trong lập trình hướng đối tượng, lớp dẫn xuất (derived class) có thể kế thừa các thuộc tính và phương thức từ lớp cơ sở (base class) Qua đó, cấu trúc cây được hình thành, trong đó lớp cơ sở đóng vai trò là lớp cha (parent class) và lớp dẫn xuất là lớp con (child class).

Tính hình là quá trình thay đổi thông tin theo cách mà nó được truyền đạt Khi thông tin được sử dụng trong một ngữ cảnh cụ thể, nó sẽ mang cùng một tên gọi và ý nghĩa tương ứng.

Tính hình trình khái khác hàm,

Trong bài này, sinh viên các sau:

Câu 1: Trình bày các khái thông

Câu 2: Trình bày các tính OOP: gói, hình Cho ví minh

Sau khi xong bài này, viên có

- cú pháp Java hoàn toàn C;

Các trình các ngôn trình C/C++, Pascal các file trình sang các câu mà máy tính ngôn C/C++ xây trên ra trình mã máy nhanh và linh

Quá trình phát triển máy tính và hình ảnh có sự thay đổi đáng kể khi thay đổi môi trường Hiện nay, có nhiều loại máy tính với cấu trúc khác nhau, ảnh hưởng đến cách thức hoạt động và phát triển của chúng Sự thay đổi này không chỉ liên quan đến công nghệ mà còn đến các ngôn ngữ lập trình được sử dụng.

Internet xem là khác nhau cung cho khác nhau, là các trên công Web các trình lên và Web thì không nên các trình C/C++, vì:

1 an toàn, an ninh trên không

Các trình biên dịch C/C++ chuyển đổi mã nguồn thành mã máy, nhưng mã máy này có thể không tương thích giữa các hệ điều hành khác nhau, chẳng hạn như giữa Mac và Windows Điều này tạo ra thách thức trong việc phát triển phần mềm đa nền tảng.

Web trên theo nguyên lý trình thông (Interpreter) thì nó khá trình thông phân tích trình khi thì các trình

Java chuyển đổi mã nguồn thành mã máy thông qua trình biên dịch, nhưng không trực tiếp vào chip Sau khi biên dịch, mã không phải là mã đối tượng (Object code) mà là các byte chứa mã lệnh (Opcode) và tham số máy Máy thực thi mã này là Java Virtual Machine (JVM).

Virtual Machine) JVM có nhúng vào môi mà có Khi cài trên môi xác (máy có hình thì thông và JVM thành máy có thi trình Java sau:

Hình 3.1: Quá trình trình Java

Công Java cách trình sang byte codes Khi JVM nó tìm các tham các trong trình chính chúng

Java là ngôn không yêu sàng lúc mà JVM có các (file class) làm khi thi trình

Thông trong trình sang file class Theo cách

Java không sử dụng các file trong quá trình biên dịch, vì các giao diện và các thay đổi không cần các file mã nguồn Khi có sự thay đổi, chúng ta chỉ cần cập nhật file java mà không cần tạo thêm file mới.

Tóm C/C++ và Java là ngôn khác nhau

- C/C++ cái chính là và trong trình Khi trình C/C++ thì và thúc trình con hàm main() Chung ta có yêu liên khi là và xác ngay khi

- Java chính là: thân và cách tân ra môi Khi trình

Java thì ra mà chúng thi công và JVM các khi có nhu thông thì các yêu chi xác không khi Do phát lúc thi trình

3.2 MÔI NG JAVA trên chúng ta trình Java có và trong môi hành, là có trình thông (máy Java -

JVM) ra là làm nào thông Java các trình Web (Web Browsers) liên quan là:

- sao Java cho công Web,

Java chú ý là dowload Web theo yêu và trình trên các máy khách khi Java thì

Web là một tập hợp các tài liệu, và việc bổ sung thông tin vào các tài liệu này giúp tăng giá trị của chúng Các tài liệu thô, như Java Web, có thể được liên kết với nhau để tạo ra thông tin có cấu trúc Java cho phép thao tác, phân tích và biến đổi thông tin, giúp sinh ra các dữ liệu có giá trị hơn.

Java và Web

câu sao Java cho Web, chúng ta các

- tiên các trình trên Web không vào môi

Web thông qua các giao (protocol) trên môi

- Ngôn thông phù Web: Trình thông các HTML sang các có khuôn sinh theo yêu

- Khi trình, JVM và trình làm thông các mã byte vào môi máy khách do tính

- Java không các trình virus vào trình

Khi trình Java theo yêu Web, nó soát các mã byte trình và chúng tuân theo các qui các ràng ngôn

- khác, các trong mã byte không là các trong các ngôn mà là các tên (thông qua danh

Trong các ngôn ngữ lập trình C/C++, việc kiểm soát các hàm có thể gặp khó khăn do tính linh hoạt của chúng Ngược lại, Java cung cấp các phương thức và mô hình hành vi rõ ràng, giúp dễ dàng kiểm soát và đảm bảo an ninh cao hơn Điều này làm cho Java trở thành một lựa chọn an toàn hơn cho việc phát triển phần mềm.

- khi là nguy ra các tràn quá các

Java luôn soát các tình Ví trúc

(array) và String trong Java là các và do có soát các và các các trong

- Java không con (pointer) nên không cho phép do thao tác tùy ý các trí trong

- Web là môi mà có có ra Ngôn trình Web dàng cho có cùng lúc

- Java tiêu vì: nó cung các có là các riêng hai là Java các trong các nhau

- Các không và liên ra file có ngay

- Thay vì lúc Java có xác nào thì còn khác có trên và sau chúng vào môi Java khi pháp trên, các Java có phân tán trên và

- Ý Java là có trung tâm (máy và sau các máy khi có yêu Do các sao cho trao nhanh) và

- trình Java có vì chúng có theo nguyên lý là các có thành các gói (package) và chúng khi có nhu hoá

C/C++ là hai ngôn ngữ lập trình khác nhau, mỗi ngôn ngữ có cách thức hoạt động riêng Hàm main() trong C/C++ là hàm quan trọng, cho phép gán kiểu dữ liệu int, nhưng các ngôn ngữ khác có thể sử dụng các kiểu dữ liệu khác nhau và dành bộ nhớ khác nhau cho các giá trị int.

- Java là ngôn và luôn cho cùng cài

3.2.3 T ch c các d án ng d ng v i Java

Các file trình Java là mô hình mà không chứa các hàm (prototype) Các file này có thể được tổ chức thành các gói con Ví dụ, khi chúng ta sử dụng gói java.net, các file trong gói này sẽ được quản lý theo cách tương tự.

JDK do Sun cung trên các vào các dòng và khá JDK còn có WebSite: http://java.sun.com JDK cung các công và các trình sau:

1 javac: trình mã sang mã byte

2 java: thông thi các các file class

3 appletviewer: thông thi các nhúng (Java applet file

4 javadoc: tài HTML mã cùng các chú thích bên trong

5 jdb: (java debugger) cho phép dòng xem giá các

6 javah: header C và cho phép trình C các

7 javap: Trình Assembler các truy bên trong file class và byte code

3.3 D NG TRÌNH NG D NG C A JAVA

Java is a versatile programming language that operates across various platforms, including Linux, Mac OS, and Windows Java programs are typically saved in files with a ".java" extension, and the filename must match the public class name When compiled, these files generate corresponding ".class" files To write Java code, developers can use various text editors and integrated development environments (IDEs) such as Notepad, Wordpad, Textpad, JCreator, and NetBeans.

Java trong các trang web các Android, khoa tài chính các ng giao các game Minecraft cho các desktop Eclipse, Netbeans và IntelliJ, mã các

Các trên Android lên ngôn trình Java, Android API Google, JDK Vài Android phát nhanh và trình viên Java thành các nhà phát

Android Android máy JVM và các package khác, code thì Java

3.3.2 ng d ng máy ch dùng cho d ch v tài chính

Java đóng vai trò quan trọng trong lĩnh vực tài chính và ngân hàng, được sử dụng bởi các tập đoàn lớn như Goldman Sachs, Citigroup, Barclays và Standard Chartered Ngôn ngữ lập trình này hỗ trợ các giao dịch tài chính, phân tích dữ liệu và các ứng dụng quản lý khác Java thường được triển khai ở phía máy chủ (upstream) và xử lý các quy trình khác (downstream), trong khi Java Swing được sử dụng để phát triển giao diện người dùng.

3.3.3 Các ng d ng web Java

Java trong các web và Có

RESTfull services ra Spring MVC, Struts 2.0 và các framework Ngay các web trên Servlet, JSP và

Struts khá trong các án chính chính y giáo phòng và khác có web xây

3.3.4 Các công c ph n m m công phát và ích Java, ví Eclipse,

InetelliJ Idea và Netbans IDE là desktop Java dù có Swing là trong ngân hàng và tài chính nay, Java FX là khá thay Swing

Các bên ba (third party), trong ngành công tài chính, Java Các

Murex, ngân hàng trong ra ngoài,

3.3.6 Các ng d ng J2ME dù ra iOS và Android tiêu J2ME, còn là các dòng hình Nokia và Samsung

J2ME Có khi các game, trên Android

MIDP and CLDC are components of J2ME, which is also utilized in various devices such as Blu-ray players, cards, and set-top boxes One reason WhatsApp is significant is its availability on J2ME, particularly for Nokia devices.

Không gian nhúng

Java trong embedded (nhúng) là một công nghệ quan trọng, với kích thước chỉ 130 KB, cho phép triển khai trên các smart card Ban Java dành cho các ứng dụng nhúng mang lại nhiều lợi ích to lớn, giúp tối ưu hóa hiệu suất và khả năng tương tác của thiết bị.

Các

Hadoop và các công nghệ big data khác như HBase, Accumulo và ElasticSearch đều được phát triển trên nền tảng Java Mặc dù Java không phải là ngôn ngữ duy nhất trong lĩnh vực này, MongoDB được viết bằng C++, nhưng Hadoop và ElasticSearch vẫn có sự liên kết chặt chẽ với Java.

3.3.9 Trong v c giao d ch ch ng khoán

Java các JIT nó có ngang C++ Vì lý do này, Java các cao, vì dù có thua chút ít so ngôn native, có an toàn, linh và trì nhanh

Java là một ngôn ngữ lập trình phổ biến trong các khoa học máy tính hiện nay Lý do chính cho sự ưa chuộng này là vì Java an toàn, dễ di chuyển và có tính tương thích cao với các ngôn ngữ khác như C++.

File trình Java có có các sau:

1 nh gói là tùy thông qua danh gói (package) các các interface trong file gói này gói qua gói thì các file này vào gói

3 và interface có theo trúc trình Java vì có khái quát sau:

// Các gói import java.io.* ;

// 3: (0 các và các interface public class NewApp{ } class C1 { } interface I1 { } class Cn { } interface Im { } ý:

- File trình Java luôn có tên trùng tên public hàm main() là và có là java

- File NewApp.java là trình thì có có tên là Newapp và này có main() này luôn có public static void main (String args [] ) {

- dung main() xác các công

- Khi (javac) thì trong file trình thành byte code và ghi thành file riêng có tên trùng tên và có class này vào trình lúc thông và theo yêu

Trong Java, không có khai báo hàm tách biệt; thay vào đó, có các khai báo và interface Java coi các interface là các thành phần quan trọng, cho phép các đối tượng giao tiếp và tương tác với nhau một cách hiệu quả.

Java cung cấp các phương thức cho phép kiểm tra tính chính xác của cú pháp trong các ngôn ngữ lập trình khác Điều này giúp xác định xem các cấu trúc và tên trong mã nguồn có được xây dựng đúng cách hay không.

Tên các thành trong trình là danh (Identifier) danh xác các

(method) hay còn là hàm, v.v

Trong Java, tên biến là dãy các ký tự, bao gồm chữ cái, ký tự '_' và các ký tự đặc biệt như $, £, và ¥ Lưu ý rằng Java phân biệt chữ hoa và chữ thường, vì vậy "Hoa" và "hoa" được coi là hai tên khác nhau Độ dài của tên biến trong Java có giới hạn.

Ví các danh sau là so_nguyen, $My, danh_sachi2, Hocsinh, còn sau không là danh 24gio, sô' nguyên, Hoc-sinh

Xu chung nay là nên cách tên theo phân các khác nhau các thành Chúng ta qui cách tên sau:

- danh cho các cái trong danh hoa, ví

MyClass, HocSinh, KhachHang là danh các

- danh cho cái trong danh hoa tiên, ví myClass, hocSinh, khachHang là danh các MyClass, HocSinh, KhachHang

Các khóa ngôn trình là danh ngôn và không cho khác Các khóa Java có chia thành chín nhóm

2 các interface, class, extends, implements

3 Các khóa cho các biên và các abstract, public, private, protected, static, synchronized, volatile, final, native

4 Các nguyên long, int, short, byte, char, float, double, boolean, void

5 khóa cho các giá và các false, true, this, super, null

6 lý throw, throws, try, catch, finally

7 và tra các new, instanceof, interface

8 switch, case, default, break, if, else, continue, return, do, while, for

9 khóa byvalue, future, outer, const, genetic, rest, goto, inner, var, cast, operator

Trong các trình có thích công cách và theo dõi thích làm và các trình qua Java cung 3 chú thích trong trình:

Chú thích trong tài (javadoc): /** */

Các nguyên ngôn trình là nguyên Các nguyên Java chia thành 3 nhóm:

- nguyên các nguyên và ký

The byte, short, int, and long data types are used for integer values, while the char type is designated for Unicode characters Unicode supports 65,536 characters (2^16) in its 16-bit encoding The first 128 Unicode characters are identical to the 128 characters in the 7-bit ASCII code, and the 256-character set aligns perfectly with the ISO Latin-1 8-bit encoding.

- hay này có hai float và double cho các phân

- boolean: là boolean có hai giá true và false (sai) ý:

- Các giá nguyên là nguyên (không phân chia và không là các

- nguyên có giá xác và các phép toán trên các giá

- nguyên có bao (Wrapper hay còn nguyên các giá nguyên là các Ví int có Integer, char là Char, v.v

(bytes) vi Mô byte 0 1 -128 127 nguyên short 0 2 -32768 32767 nguyên int 0 4 -2 2 nguyên long 0 8 - 9 9 nguyên float 0.0 4 +/- 1.45 E-45 +/-3.4 E+38,

E+308, +/- infinity, +/-0, NAN char \u0000 2 \u0000 \uFFFF Kí Unicode

- Các thành là các thành và giá khi ra Nói cách khác, giá các thành xác thái

- Các tham (Object Reference) là tham và còn là tham là các lý các tham khai báo và giá khi

Khi khai báo biến hs với kiểu dữ liệu Hocsinh, biến này sẽ chứa thông tin của đối tượng Hocsinh Việc khai báo này không tạo ra một đối tượng Hocsinh mới mà chỉ tạo ra một biến tham chiếu đến thông tin của Hocsinh Điều này cho phép chúng ta sử dụng biến hs để thao tác với các thuộc tính và phương thức của đối tượng Hocsinh mà không cần khởi tạo một đối tượng mới.

HocSinh hs = new HocSinh ( Anh" ) ; // khai báo giá

- Các (static) là các thành viên không cho mà cho

- Các (local) là khai báo trong các và trong các Trong Java có các local khai báo khi

Toán (operator) là kí mô phép toán Trong Java có các toán sau:

- Phép toán trên bit: ~, &, |, ^ (xor), >>, =, các method interface1> các method interface2> các method interface khác>

- Interface1, Interface2, : tên các interface

Ví Xây VongTron ShapeInterface và IO_Inteface sau:

Hình 8.3: Ví interface ví trên sau:

- Khai báo trong interface là friendly public

- có khai báo implements interface mà quên interface gây ra khi biên

- Modifier hành vi các trong interface là public

- Ta có khai báo thông qua interface interface dùng các hành vi có khai báo trong interface

8.4 INTERFACE TH A K interface có interface cha Interface con là các khai báo

Cú pháp: interface InterfaceSon extends InterfaceFather

} implements interface con thì hóa các có trong interface cha

Xây interface I_Cha 2 method_A(), method_B() Interface

I_Con I_Cha và khai báo thêm method_C()

Hình 8.4: Ví interface ví sau:

8.5 NH TR C TI P I NG B NG

Có interface có hóa các là vô danh

(anonymous class) là, không có tên interface các

Comparable Interface

Giao Comparable trong java các do dùng (user-defined) Giao này gói java.lang và có tên compareTo(Object)

- Các do dùng (User-defined)

- compareTo(Object obj): public int compareTo (Object obj) so sánh

Student implements giao java.lang.Comparable cài compareTo() Chúng ta cài tiêu chí so sánh trong compareTo(), so sánh các Student nhau, là ví các

Student theo name: class Student implements Comparable { private int id; private String name; private int age; private String address; public Student() {

} public Student(int id, String name, int age, String address) { super(); this.id = id; this.name = name; this.age = age; this.address = address;

// getter & setter public String toString() { return "Student@id=" + id + ",name=" + name

} public int compareTo(Student student) {

// sort student's name by ASC return this.getName().compareTo(student.getName());

Comparator Interface

Giao Comparator trong java các do dùng (user-defined) Giao này gói java.util và hai có tên compare(Object obj1,Object obj2) và equals(Object element)

- Các do dùng (User-defined)

- compare(): so sánh tiên hai public int compare(Object obj1,Object obj2)

- Ví Comparator trong java: danh java.util.Comparator cài compare() cài tiêu chí so sánh trong compare() so sánh các Student nhau, là ví các

Student theo name: class Student { private int id; private String name; private int age; private String address; public Student() {

} public Student(int id, String name, int age, String address) { super(); this.id = id; this.name = name; this.age = age; this.address = address;

// getter & setter public String toString() { return "Student@id=" + id + ",name=" + name

T theo, ta ComparatorExample có 2 danh

Comparator 2 tiêu chí các Student theo name và age

// ComparatorExample class import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class ComparatorExample { public static void main(String[] args) {

List listStudents = new ArrayList();

// add students to list listStudents.add(new Student(1, "Vinh", 19, "Hanoi")); listStudents.add(new Student(2, "Hoa", 24, "Hanoi")); listStudents.add(new Student(3, "Phu", 20, "Hanoi")); listStudents.add(new Student(4, "Quy", 22, "Hanoi"));

// sort list student by it's name ASC

System.out.println("sort list student by it's name ASC: ");

Collections.sort(listStudents, new Comparator() {

@Override public int compare(Student o1, Student o2) { return o1.getName().compareTo(o2.getName());

// show list students for (Student student : listStudents) {

System.out.println(student.toString());

// sort list student by it's age ASC

System.out.println("sort list student by it's age ASC: ");

Collections.sort(listStudents, new Comparator() {

@Override public int compare(Student o1, Student o2) { return o1.getAge() > o2.getAge() ? 1 : -1;

// show list students for (Student student : listStudents) {

System.out.println(student.toString());

- sort list student by it's name ASC:

Student@id=2,name=Hoa,age$,address=Hanoi

Student@id=3,name=Phu,age ,address=Hanoi

Student@id=4,name=Quy,age",address=Hanoi

Student@id=1,name=Vinh,age,address=Hanoi sort list student by it's age ASC:

Student@id=1,name=Vinh,age,address=Hanoi

Student@id=3,name=Phu,age ,address=Hanoi

Student@id=4,name=Quy,age",address=Hanoi

Student@id=2,name=Hoa,age$,address=Hanoi

PACKAGE LÀ GÌ?

Package hay gói là nhóm các class, interface, các gói khác biên thành Java bytecode

T package là có tên là tên package Sub-package là gói con con) package cao trúc

Gói là công tái mã (reusable code)

Ta có khai báo package trong code class cách dùng khóa package, dòng tiên code java

Khi biên thành công, có PackageName thì này ra file.class code này vào này

Dùng import trong các cú pháp sau: import PackageName.*; import PackageCha.PackageCon.*; import PackageName.ClassName; import PackagCha.PackageCon.ClassName

Hình 8.6: trúc các gói tiên, gói CommonClasses sau:

Hình 8.7: Package CommonClasses theo, gói FacultyClasses:

Hình 8.8: Package FacultyClasses theo, gói StudentClasses:

Hình 8.9: Package StudentClasses Class Student

Hình 8.10: Package StudentClasses Class StudentList cùng, file StudentListDemo sau:

Hình 8.11: Class StudentListDemo ví trên sau:

Trong bài này, sinh viên các sau:

- Interface bao khai báo các các hành vi mà có có

- interface là hóa code) các method khai báo trong interface này

- Interface con các hành vi có trong interface cha và các hành vi khai báo thêm

- Cú pháp có implements interface: class A extends implements Interface_1, interface_2,

- Có thông qua interface hóa hành vi

- Package: Bao các interface, các class và các package con

- gói import và bên ngoài gói

Câu 1: vòng tròn trong ví 7, làm Ellipse, tam giác, hình hình vuông

Chu vi ellipse: pi*(Rx + Ry) tích ellipse: pi*Rx*Ry

Câu 2: Xây các gói theo sau, thêm:

(1) FacultyList lý danh sách giáo viên vào gói Faculty

(2) FacultyListDemo minh lý danh sách giáo viên

Sau khi xong bài này, sinh viên có

9.1 GI I THI U V L P TRÌNH T NG QUÁT

9.1.1 Gi i thi u trình quát trong Java (Java Generics) thêm vào ngôn trình Java Java 5 trình quát trong java là cách xác các cho các và trong khác nhau

Generics trong Java là một khái niệm quan trọng, cho phép chúng ta định nghĩa các lớp, giao diện và phương thức với tham số kiểu Điều này giúp tăng tính linh hoạt và tái sử dụng mã nguồn, đồng thời đảm bảo an toàn kiểu trong quá trình biên dịch.

Generics là cách trình quát cho phép object khác nhau

9.1.2 L p Generic trong java có tham nào là generic

Hãy xem ví sau và generic:

Ví generic MyGeneric.java: class MyGeneric {

T obj; void add(T obj) { this.obj = obj;

Trong trên, tham là chung chung có ký khác T) cho nào

Ví khi MyGeneric là T = Integer, lúc này có hình dung MyGeneric có sau: class MyGeneric {

Integer obj; void add(Integer obj) { this.obj = obj;

TestGenerics3.java demo: public class TestGenerics3 { public static void main(String args[]) {

MyGeneric m1 = new MyGeneric(); m1.add(2);

MyGeneric m2 = new MyGeneric(); m2.add("Hello");

Trong trên, dòng 6 chúng ta khai báo sau

MyGeneric, có là chung T là Integer dòng

11 chúng ta khai báo sau MyGeneric, có là chung T là String

Quy tên tham : tên tham là quan genericis Các tham thông sau:

9.1.3 th c Generic trong java generic, chúng ta có generic có nào

Chúng ta hãy xem ví generic trong java in các

Chúng ta E public class TestGenerics4 { public static void printArray(E[] elements) { for (E element : elements) {

} public static void main(String args[]) {

System.out.print("In nguyên: "); printArray(intArray);

System.out.print("In ký "); printArray(charArray);

9.1.4 Ký t i di n trong Java Generics

Ký ? cho ký Nó có là nào chúng ta

Ngày đăng: 28/07/2023, 17:58

HÌNH ẢNH LIÊN QUAN

Hình 1.1:   quan   phân   struct - Lập trình hướng đối tượng
Hình 1.1 quan phân struct (Trang 12)
Hình 1.3:   quan   phân   class - Lập trình hướng đối tượng
Hình 1.3 quan phân class (Trang 13)
Hình 4.6: Ví   3.4.1 - Lập trình hướng đối tượng
Hình 4.6 Ví 3.4.1 (Trang 55)
Hình 4.7: Ví   4.5  Trong ví   trên,   Student có 3   trùng tên nhau   khác nhau - Lập trình hướng đối tượng
Hình 4.7 Ví 4.5 Trong ví trên, Student có 3 trùng tên nhau khác nhau (Trang 56)
Hình 4.10: Ví   4.6.3 - Lập trình hướng đối tượng
Hình 4.10 Ví 4.6.3 (Trang 58)
Hình 4.11: Ví   4.6.4 - Lập trình hướng đối tượng
Hình 4.11 Ví 4.6.4 (Trang 59)
Hình 5.1: Ví   con - Lập trình hướng đối tượng
Hình 5.1 Ví con (Trang 70)
Hình 5.3: Class Gift - Lập trình hướng đối tượng
Hình 5.3 Class Gift (Trang 71)
Hình 5.7: Ví   4.2.1.2 - Lập trình hướng đối tượng
Hình 5.7 Ví 4.2.1.2 (Trang 74)
Hình 5.11: Ví   5.4.2 - Lập trình hướng đối tượng
Hình 5.11 Ví 5.4.2 (Trang 78)
Hình 5.14: Class GiaoVien - Lập trình hướng đối tượng
Hình 5.14 Class GiaoVien (Trang 81)
Hình 5.18: Ví   5.5.2.2 - Lập trình hướng đối tượng
Hình 5.18 Ví 5.5.2.2 (Trang 83)
Hình 6.5: Ví   6.3.1 - Lập trình hướng đối tượng
Hình 6.5 Ví 6.3.1 (Trang 90)
Hình 8.5: Ví   8.5 - Lập trình hướng đối tượng
Hình 8.5 Ví 8.5 (Trang 113)
Hình 9.1:   trúc Java Collection Framework - Lập trình hướng đối tượng
Hình 9.1 trúc Java Collection Framework (Trang 132)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w