1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng c và môi trường donet bài 5

22 199 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

Định dạng
Số trang 22
Dung lượng 229,5 KB

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

Nội dung

 Khái niệm lớp• Lớp là khái niệm để chỉ một lớp các đối tượng có cùng đặc điểm, thuộc tính • Mỗi lớp các đối tượng gồm có các thuộc tínhcharacteristics còn gọi là state và các hành v

Trang 1

Lớp và phương thức

Trang 2

Ôn tập lại bài cũ

Trang 3

Subject name / Session# / 3 of Totalpage

• Các đặc điểm của lập trình hướng đối tượng

• Khái niệm lớp và cách khai báo lớp(class)

• Khái niệm đối tượng và cách khởi tạo đối tượng(object)

• Constructor(hàm tạo)

• Constructor mặc định

• Static constructor

• Con trỏ this

Trang 4

Nội dung trình bày

• Deconstructor(hàm hủy)

• Garbage Collector

• Phương thức(method)

• Static member và not static member

• Method Overloading(chồng phương thức)

• Chồng toán tử (Operator Overloading)

• Access modifier(phạm vi truy cập)

• Từ khóa ref và out

Lớp và phương thức

Trang 5

• Trừu tượng hóa dữ liệu(Data Abstraction)

• Bao gói dữ liệu(Encapsulation)

• Kế thừa(Inheritance)

• Đa hình(Polymorphism)

Trang 6

Khái niệm lớp

• Lớp là khái niệm để chỉ một lớp các đối tượng có cùng đặc điểm, thuộc tính

• Mỗi lớp các đối tượng gồm có các thuộc tính(characteristics còn gọi là state

) và các hành vi(behavior, còn gọi là action).

-Make -Model

Car

Trang 7

Cách khai báo một lớp trong C#

Ví dụ DEMO khai báo lớp

Trang 8

Khái niệm đối tượng (object)

• Là một thực thể tồn tại trong thực tế

• Là một thể hiện của lớp (Instance of class)

• Cú pháp để tạo một đối tượng của một lớp(Instantiating Objects)

• <ClassName> <objectName> = new <ClassName>();

 Cấp phát vùng nhớ

 Khởi tạo đối tượng

 Lớp định nghĩa ra mô hình, nó đưa ra các thuộc tính và các hành động

mà một đối tượng của lớp đó phải có

 Còn đối tượng là một thực thể thật trong thực tế

Lớp và phương thức

Trang 9

• Là phương thức đặt biệt dùng để khởi tạo đối tượng của một lớp

• Đặc điểm:

 Trùng với tên của lớp

 Không trả về kiểu dữ liệu

 Có đối số hoặc không có đối số

 Nếu không viết constructor, trình biên dịch cung cấp một constructor mặc định trình sẽ dùng constructor mặc định

Ví dụ DEMO về Constructor

Trang 10

 Không có kiểu dữ liệu trả về

 Khởi tạo các thuộc tính(field) của lớp bằng 0,false hoặc null

Ví dụ DEMO default constructor

Lớp và phương thức

Trang 11

Static constructor

• Được tự động thực thi để khởi tạo các class variable(các biến tĩnh)

• Static constructor được thực thi trước khi bất kỳ một đối tượng nào của lớp được khởi tạo

• Static constructor được thực thi trước khi một static variable hay static method nào của lớp được gọi

• Static constructor chỉ được gọi một lần duy nhất

• Static constructor không chứa bất kỳ tham số nào

• Không sử dụng con trỏ this trong static constructor

Ví dụ DEMO static constructor

Trang 12

Destructor

• Đây là phương thức đặt biệt được tự động gọi để giải phóng vùng nhớ của đối tượng khi đối tượng không được sử dụng

• Mỗi một lớp chỉ có duy nhất một destructor

• Destructor không thể kế thừa và không thể gọi một cách tường minh

• Trùng với tên của lớp và thêm ký tự ~ đằng trước tên destructor

Ví dụ về destructor

Lớp và phương thức

Trang 13

Garbage collector

• Toán tử new dùng để cấp phát vùng nhớ cho một đối tượng Tuy nhiên do bộ nhớ là giới hạn nên cần phải giải phóng vùng nhớ của các đối tượng khi các đối tượng không còn được sử dụng nữa để giành bộ nhớ cấp phát cho các đối tượng khác

• Quá trình giải phóng vùng nhớ được thực hiện bởi cơ chế tên là Garbage collector trong NET Framework

Trang 14

Con trỏ this

• Dùng để tham chiếu đến đối tượng hiện tại của lớp

• Nó dùng trong trường hợp khi đối số của phương thức hoặc đối số của constructor trùng với tên của các thuộc tính trong lớp

Ví dụ DEMO con trỏ this

Lớp và phương thức

Trang 15

• Cú pháp để khai báo một phương thức

<access modifief> <return type> <MethodName>([danh sách đối số]){

}

• Gọi phương thức:

tênđốitượng.tênphươngthức(các đối số)

Tênlớp.tênphươngthức.

Trang 16

Chồng phương thức(Method Overloading)

• Trong một lớp, cho phép các phương thức có cùng tên nhưng khác nhau về số đối số hoặc kiểu của đối số, các phương thức như vậy gọi là method overloading

Ví dụ DEMO method overloading

Lớp và phương thức

Trang 17

Static member và non static member(các thuộc,phương thức tĩnh và các thuộc tính, phương thức không tĩnh)

• Các thành phần tĩnh

 Các thuộc tính và phương thức tĩnh là các thành phần của lớp

 Các từ khóa static đằng trước thộc tính hoặc phương thức

 Chỉ có thể truy xuất đến các thành phần tĩnh này qua tên lớp

• Các thành phần không tĩnh

 Là thành phần của đối tượng

 Không có từ khóa static đằng trước

 Chỉ được truy xuất thông qua đối tượng của lớp

Ví dụ DEMO

Trang 18

Operator Overloading

• Các phép toán(toán tử) mà ngôn ngữ lập trình C# cung cấp chỉ thực hiện trên các kiểu dữ liệu cơ bản

• Ví dụ biểu thức a+b thì a,b phải là 2 kiểu dữ liệu cơ bản(int, float)

• Nếu a,b, là 2 đối tượng của một lớp nào đó thì phép cộng sẽ không thực hiện được

• Vậy để cộng được thì làm thế nào?

• Câu trả lời phải định nghĩa lại phép cộng(chồng toán tử cộng) để nó

có thể cộng được 2 đối tượng

Lớp và phương thức

Trang 19

Ví dụ: để cộng 2 đối tượng time1 và time2

Cách 1: sử dụng phương thức: time = objTime.Add(time1, time2)

Cách 2: dùng chồng toán tử: time = time1 + time2;

Trang 20

Phạm vi truy xuất

• Các ngôn ngữ lập trình hướng đối tượng có khả năng giới hạn việc truy cập

đến các thành phần trong lớp(thuộc tính, phương thưc ).

• Access modifier là thuật ngữ chỉ định phạm vi truy xuất(được truy xuất ở

những chỗ nào) của các thành phần bên trong lớp

Trang 21

Từ khóa ref và out

• Cả 2 từ khóa này dùng để truyền tham số cho phương thức theo kiểu tham biến

• 2 từ khóa này khác nhau ở chỗ: từ khóa out không yêu cầu phải

khởi tạo biến khi truyền cho phương thức

Ví dụ DEMO từ khóa ref và out

Trang 22

• Chồng phương thức(Method Overloading)

• Chông toán tử(Operator Overloading)

• Access modifier (phạm vi truy xuất)

• Từ khóa ref và out

Lớp và phương thức

Ngày đăng: 03/12/2015, 22:43

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