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

Bài giảng cơ sở lập trình máy tính chương 3 ths nguyễn thị khiêm hòa

42 152 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 42
Dung lượng 2,43 MB

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

Nội dung

Đối tượng Object  Mô tả một thực thể hay một quan hệ trong thế giới thực  Có các thuộc tính properties và hành vi behaviors  Có thể là thực thể vật lý hay thực thể khái niệm.. Lớp v

Trang 1

Xây dựng lớp _ đối tượng Chương 3:

Giảng viên: Ths Nguyễn Thị Khiêm Hòa

Trang 3

Đối tượng (Object)

 Mô tả một thực thể hay một quan hệ trong thế giới thực

 Có các thuộc tính (properties) và hành vi (behaviors)

 Có thể là thực thể vật lý hay thực thể khái niệm

 Mô tả những vấn đề cần thao tác trong hệ thống

Đối tượng = Dữ liệu + Hành vi

Trang 4

Đối tượng (Object)

 Thuộc tính: mô tả thông tin của đối tượng

 Trạng thái: được định nghĩa bởi giá trị của thuộc tính tại một thời điểm nào đó

 Hành vi: chỉ ra các hoạt động của đối tượng được cài đặt thành phương thức (methods)

Trang 5

Multimedia: Lớp đối tượng và đối tượng

Trang 6

Lớp và đối tượng

 Lớp (Class):

 Thiết kế của đối tượng

 Chứa thuộc tính và phương thức

 Được xem như kiểu dữ liệu trừu tượng

 Đối tượng (Object):

 Thể hiện (Instance) của

lớp, đóng vai trò biến trong

Bath Office

Dining Room

Family Room Covered Porch

Class

Trang 7

Xây dựng lớp và tạo đối tượng

[Bổ từ truy cập] class <tên lớp> [: Lớp cơ sở]

Trang 8

Xây dựng lớp và tạo đối tượng

public class hocsinh

{

private string hoten;

public int lop ;

public void lenlop()

Trang 9

Xây dựng lớp và tạo đối tượng

public class Taikhoan {

private string tentk;

private double sodutk = 0;

private double gioihanrut;

public void naptien(double tiennap) {

sodutk = sodutk + tiennap;

} public void ruttien(double tienrut) {

sodutk = sodutk - tienrut;

} }

Ví dụ

Trang 10

Xây dựng lớp và tạo đối tượng

 Tạo đối tượng

Taikhoan tk = new Taikhoan();

 Truy xuất thành phần

tk.naptien(100000);

Trang 11

Bổ từ truy cập

 Quy định giới hạn truy xuất vào các thành phần của lớp

public Không giới hạn

private Chỉ truy cập trong nội bộ của lớp

internal Cho phép các lớp trong cùng chương trình

Trang 12

Phương thức khởi tạo

 Phương thức đặc biệt, được gọi tự động khi tạo ra đối tượng

 Tên phương thức có cùng tên với lớp

 Giới hạn truy cập: public

 Phương thức khởi tạo mặc định không có tham số

 Không có giá trị trả về

 Không cho phép tham chiếu trực tiếp

Trang 13

Phương thức khởi tạo

 Giá trị mặc định của các kiểu dữ liệu

Kiểu dữ liệu Giá trị mặc định

int, long, byte,… 0

char ‘\0’, Null

Reference Null

Trang 14

Phương thức khởi tạo

public class Taikhoan

{

… public Taikhoan() { tentk = Null;

sodutk = 0;

gioihanrut = 0;

} }

Ví dụ

Trang 15

Nạp chồng phương thức khởi tạo

Có thể tạo nhiều phương thức khởi tạo cùng tên

 Cũng có thể dùng con trỏ this

public class Lion

{

private string name;

private int age;

Trang 16

Nạp chồng phương thức khởi tạo

public class Lion

{

private string name;

private int age;

}

Ví dụ

Trang 17

Phương thức khởi tạo sao chép

 Tạo một đối tượng mới bằng cách sao chép toàn bộ các thành phần dữ liệu từ một đối tượng đã có cùng lớp

public class Thoigian

Trang 18

Phương thức khởi tạo sao chép

static void main()

Trang 19

Bài tập

Xây dựng lớp Tài khoản hoàn chỉnh

Thực hiện

10 min

Trang 20

Từ khóa this

 Dùng để tham chiếu đến thể hiện hiện hành của một đối tượng

 Con trỏ ẩn đến tất các phương thức không có thuộc tính tĩnh

(nonstatic) trong một lớp

 Mỗi phương thức có thể tham chiếu đến những phương thức khác

và các biến thành viên thông qua tham chiếu this này

Trang 22

Từ khóa this

class Point {

… public void Dispose() {

GC.SuppressFinalize( this );

} public override void Finalize() {

Dispose();

base.Finalize();

}

Ví dụ

 Truyền đối tượng hiện hành làm tham số cho một phương

thức của đối tượng khác

Trang 23

Từ khóa this

class Point {

}

Ví dụ

 Gọi nạp chồng phương thức thiết lập từ phương thức thiết

lập khác

Trang 24

 Dùng chung cho tất cả các thể hiện của lớp

 Sử dụng không thông qua một thể hiện nào trong lớp

 Khai báo thành phần tĩnh bằng từ khóa static

 Thuộc tính tĩnh lưu trữ trạng thái liên quan đến tất cả các thể hiện

Trang 25

Phương thức tĩnh

 Hàm Main()

 Được xem là hoạt động chung chứ không riêng thể hiện nào của lớp

 Không có tham chiếu this

 Không được các thể hiện tham chiếu đến

 Không được gọi trực tiếp các phương thức không

tĩnh(nonstatic)

Trang 26

Phương thức khởi tạo tĩnh

 Được thực thi 1 lần khi chương trình thực thi

 Thực thi trước bất kỳ thể hiện được tạo ra

 Không tham số và bổ từ truy cập

 Không cho phép truy xuất trực tiếp

 Dùng khởi tạo các thành phần tĩnh

public class A {

static int x;

static A() {

x = 0;

}

Ví dụ

Trang 28

Hủy đối tượng

Ngôn ngữ C# cung cấp cơ chế thu dọn (garbage collection)

 Khai báo tường minh các phương thức hủy để giải phóng các tài nguyên với các đoạn mã không được quản lý

Trang 29

… public void Dispose() {

GC.SuppressFinalize( this );

} public override void Finalize() {

Dispose();

base.Finalize();

}

Ví dụ

Trang 30

} public void GetTime(int h, int m, int s) {

Trang 31

Tham biến và tham trị

Tham trị

 Trực tiếp chứa DL

 Phải được khởi tạo

 Không có giá trị null

 Khai báo bởi từ khóa new

 Được hủy bởi NET garbage collection

 Lớp là một tham chiếu

42

i

c

Trang 32

Truyền tham số cho phương thức

int h=0, m=0, s=0;

this.GetTime(h, m, s);

Console.WriteLine(“{0}:{1}:{2}”,h,m,s); }

}

dụ

Trang 33

Truyền tham chiếu

int h=0, m=0, s=0;

this.GetTime(ref h, ref m, ref s);

Console.WriteLine(“{0}:{1}:{2}”,h,m,s); }

}

dụ

Trang 34

Truyền tham chiếu

 Cách gọi phương thức khi truyền tham chiếu

Trang 35

Truyền tham chiếu với biến chưa khởi tạo

 Cách gọi phương thức khi truyền tham chiếu với từ khóa out

public class Tester

{

static void Main() {

… int h, m, s;

t.GetTime(out h, out m, out s);

System.Console.WriteLine(“Current time: {0}:{1}:{2}”,

h, m, s);

}

Trang 36

Nạp chồng phương thức

 Tạo ra nhiều phương thức cùng tên

 Tham số khác nhau:

 Số lượng tham số khác nhau

 Kiểu tham số khác nhau

Trang 37

Nạp chồng phương thức

using System;

public class Area

{

private double areaVal;

public void AreaCal(double radius) {

areaVal = 22/7*radius*radius;

} public void AreaCal(double length, double width) {

areVal = length * width;

} }

Ví dụ

Trang 38

//khai báo các thuộc tính

<Bổ từ truy cập> <kiểu trả về> <Tên thuộc tính> {

get { //câu lệnh }

set { //câu lệnh }

Trang 39

public class Employee

{

private string fullName;

public string Name

{

get { return fullName }

set { fullName = value;

} }

}

Ví dụ

Trang 41

Bài t ậ p

 Xây dựng lớp Point chứa tọa độ của một

điểm trên mặt phẳng Oxy Nhập 2 điểm trên mặt phẳng rồi tính khoảng cách giữa hai điểm đó

Thực hiện

45 min

Trang 42

Q & A

Ngày đăng: 04/12/2015, 14:17

TỪ KHÓA LIÊN QUAN

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

w