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

Bài giảng môn học Kỹ thuật lập trình C: Chương 5 - Đại học Kinh tế Luật

34 65 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 34
Dung lượng 1,25 MB

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

Nội dung

Bài giảng Kỹ thuật lập trình C - Chương 5: Kế thừa và đa hình cung cấp cho người học các kiến thức: Khái niệm kế thừa, khái niệm đa hình, giao diện (interface). Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

Trang 1

Chương 5

Trang 2

N i dung

vKhái ni m k  th aệ ế ừ

vKhái ni m đa hìnhệ

vGiao di n (interface)ệ

Trang 4

K  th aế ừ

vVí d : Windows formụ

Trang 8

vKhông được k  th aế ừ

vL p con truy c p b ng t  khóa ớ ậ ằ ừ base

class HinhHoc {

… public HinhHoc(double chuVi, double dienTich) {

ChuVi = chuVi;

DienTich = dienTich;

} } class HinhTron : HinhHoc {

… public HinhTron(double chuVi, double dienTich) : base(chuVi, dienTich)

{ } }

Trang 11

vTrong m t t p các l p có m i quan h  huy t th ng ộ ậ ớ ố ệ ế ố

có các phương th c gi ng signature y xì (n i dung ứ ố ộ

phương th c khác nhau)ứ

vOverriding methods giúp l p trình viên có th   đ nh ậ ể ịnghĩa  cách  hành  x   khác  nhau  ng  v i  các  đ i ử ứ ớ ố

tượng  khác  nhau  nh ng  cùng  s   d ng  m t  tên ư ử ụ ộ

phương th c.ứ

vVí d : Nhân viên chính th c và Nhân viên th i v  ụ ứ ờ ụ

đ u có phề ương th c là Tính Lứ ương, tuy nhiên cách 

th c tính lứ ương c a 2 đ i tủ ố ượng này s  khác nhau.ẽ

Trang 12

vVí  d   mô hình  l p NhanVien có  phụ ớ ương  th c tính ứ

lương

Trang 14

vKhi tham chi u đ n đ i tế ế ố ượng:

§ N u đ i tế ố ượng là l p c  s  ớ ơ ở  phương th c ứ

virtual c a l p c  s  đủ ớ ơ ở ược th c hi nự ệ

§ N u đ i tế ố ượng là l p nh n ớ ậ  phương th c ứ

override c a l p nh n đủ ớ ậ ược th c hi nự ệ

Trang 19

Ví d  Đa hình

v HinhHoc hh = new HinhHoc();

v //TinhDienTich cua lop HinhHoc

v hh.TinhDienTich();

v HinhHoc htr = new HinhTron();

v //TinhDienTich cua lop HinhTron

v htr.TinhDienTich();

Trang 21

//các thành phần }

Trang 23

Ví d (tt)

vL p SinhVien th c hi n interface ILamViecớ ự ệ

class SinhVien : ILamViec

{

public string MSSV { get; set; }

public string Nganh { get; set; }

public string HoTen { get; set; }

public string LamViec(string tenViec)

Trang 24

Ví d (tt)

vL p NhanVien th c hi n ILamViecớ ự ệ

class NhanVien : ILamViec

{

public string MSNV { get; set; }

public string Phong { get; set; }

public string HoTen { get; set; }

public int HsLuong { get; set; }

public virtual int Luong

Trang 26

Ví d (tt)

vK t quế ả

Trang 27

vInterface có th  k  th aể ế ừ

vM t l p có th  th c hi n ộ ớ ể ự ệ 1 ho c nhi u ặ ề interface

vKhi th c hi n interface, l p đó ph i ự ệ ớ ả th c hi n đ y ự ệ ầ

đủ nh ng thành ph n interface đó mô tữ ầ ả

Trang 28

return "Sinh vien " + HoTen

+ " dang giao viec " + tenViec + " cho " + nguoiNhan;

}

}

Trang 29

vL p QuanLy k  th a NhanVien, th c hi n IQuanTriớ ế ừ ự ệ

class QuanLy : NhanVien, IQuanTri

return "Quan ly " + HoTen

+ " dang giao viec " + tenViec + " cho " + nguoiNhan;

}

}

Trang 31

vK t quế ả

Trang 32

Ki m tra th c hi n Interfaceể ự ệ

vT  khóa ừ is

§ True n u đ i tế ố ượng th c hi n interfaceự ệ

§ False n u đ i tế ố ượng không th c hi n interfaceự ệ

kt = a is IQuanTri; //kt =true

kt = b is IQuanTri; //kt =false

Trang 33

Ki m tra th c hi n Interfaceể ự ệ

vT  khóa ừ as

§ Th c hi n chuy n đ i sang interfaceự ệ ể ổ

§ N u đ i tế ố ượng không th c hi n interface ự ệ  null

IQuanTri qt3 = a as IQuanTri;

IQuanTri qt4 = b as IQuanTri; //null

Trang 34

END

Ngày đăng: 11/01/2020, 19:36

TỪ KHÓA LIÊN QUAN

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