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

Lập trình hướng đối tượng tren C/C++ - OOP 06 the STL library and encapsulation

24 445 7

Đ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 đề Thư viện STL, Tính đóng gói
Tác giả Nguyễn Minh Huy
Người hướng dẫn GV. Nguyễn Minh Huy
Trường học Trường Đại Học
Chuyên ngành Lập trình hướng đối tượng
Thể loại Bài giảng
Định dạng
Số trang 24
Dung lượng 627,91 KB

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

Nội dung

Lập trình hướng đối tượng tren C/C++ - OOP 06 the STL library and encapsulation

Trang 2

Nội dung dung

 Thư Thư viện viện C++ C++.

 Thư Thư viện viện STL STL.

 Tính Tính đóng đóng gói gói

Trang 3

Nội dung dung

 Thư Thư viện viện C++ C++.

 Thư Thư viện viện STL STL.

 Tính Tính đóng đóng gói gói

Trang 4

Thư viện viện C++ C++

 Khái Khái niệm niệm thư thư viện viện::

 Thợ Thợ xây xây dựng dựng dùng dùng gì gì để để xây xây nhà nhà? ?

 TayTay khôngkhông

 CôngCông cụcụ hỗhỗ trợtrợ

 Thư Thư viện viện lập lập trình trình::

Bộ

Bộ côngcông cụcụ hỗhỗ trợtrợ củacủa lậplập trìnhtrình viênviên

 BộBộ côngcông cụcụ hỗhỗ trợtrợ củacủa lậplập trìnhtrình viênviên

 TậpTập hợphợp tri tri thứcthức củacủa ngườingười điđi trướctrước



 CCácác lớplớp, , hàmhàm dựngdựng sẵnsẵn (file lib).(file lib)

 Các Các thư thư viện viện C++ C++ phổ phổ biến biến::

 ThưThư việnviện chuẩnchuẩn C++.C++

 ThưThư việnviện boost: boost: hơnhơn 80 80 thưthư việnviện hỗhỗ trợtrợ lậplập trìnhtrình C++.C++

 ThưThư việnviện MFC: MFC: hỗhỗ trợtrợ lậplập trìnhtrình C++ C++ trêntrên Windows.Windows

Trang 5

Thư viện viện C++ C++

 Thư Thư viện viện chuẩn chuẩn (C++ Standard Library): (C++ Standard Library):

 Phát Phát triển triển và và chuẩn chuẩn hóa hóa vào vào 1990s 1990s.

 Bộ Bộ công công cụ cụ lập lập trình trình nền nền tảng tảng

 Tập Tập hợp hợp các các lớp lớp trong trong namespace std namespace std.

 Đặc Đặc điểm điểm: file header : file header không không h .h.

 Cấu Cấu trúc trúc::

 ThưThư việnviện nhậpnhập xuấtxuất: : iostreamiostream, , fstreamfstream, , iomanipiomanip, Z, Z

 ThưThư việnviện STL.STL

 ThưThư việnviện chuẩnchuẩn C: file header C: file header c cxxx.hxxx.h

Trang 6

Nội dung dung

 Thư Thư viện viện C++ C++.

 Thư Thư viện viện STL STL.

 Tính Tính đóng đóng gói gói

Trang 7

Thư viện viện STL STL

 Giới Giới thiệu thiệu STL STL– –S Standard tandard T Template emplate L Library: ibrary:

 Alexander Alexander Stepanov Stepanov, 1994 , 1994.

 Phần Phần chính chính yếu yếu của của thư thư viện viện chuẩn chuẩn

 Tập Tập hợp hợp class template class template dựng dựng sẵn sẵn

 Hỗ Hỗ trợ trợ cấu cấu trúc trúc dữ dữ liệu liệu tổng tổng quát quát

 Cấu Cấu trúc trúc thư thư viện viện::

Trang 8

Thư viện viện STL STL

 Lớp Lớp string (header <string>): string (header <string>):

 Lớp Lớp đại đại diện diện cho cho chuỗi chuỗi ký ký tự tự

 Giải Giải quyết quyết 3 3 vấn vấn đề đề con con trỏ trỏ

 Các Các phương phương thức thức chính chính::

string(char *) Khởi tạo từ một chuỗi char *.

length() Lấy chiều dài chuỗi.

Toán tử [ ] Lấy ký tự tại vị trí nào đó.

Toán tử >, <, >=, <=, ==, != So sánh chuỗi theo thứ tự từ điển.

Toán tử +, += Nối chuỗi.

find(char *) Tìm vị trí chuỗi con.

substr(int, int) Trích chuỗi con.

Trang 9

if (s1 == s2)

coutcout << “equal.” << << “equal.” << endlendl;;

cout

cout << “equal.” << << “equal.” << endlendl;;

else

coutcout << “not equal.” << << “not equal.” << endlendl;;

s2 = s1.substr(4, 4);

coutcout << s2;<< s2;

string s3 = s1 + s2;

coutcout << s3 << << s3 << endlendl;;

}}

Trang 10

Thư viện viện STL STL

 Lớp Lớp vector (header <vector>): vector (header <vector>):

 Lớp Lớp mảng mảng kiểu kiểu tổng tổng quát quát T T.

 Giải Giải quyết quyết 3 3 vấn vấn đề đề con con trỏ trỏ

 Các Các phương phương thức thức chính chính::

vector<T>() Khởi tạo mảng kiểu T.

size() Lấy kích thước mảng.

resize(int) Thay đổi kích thước mảng.

Toán tử [ ] Lấy phần tử tại vị trí nào đó.

push_back(T) Thêm phần tử vào cuối mảng.

insert(position, T) Chèn phần tử vào vị trí nào đó.

Trang 12

Thư viện viện STL STL

 Luyện Luyện tập tập::

Viêt

Viêt chươngchương trìnhtrình thựcthực hiệnhiện việcviệc sausau::

NhậpNhập vàovào danhdanh sáchsách N N chuỗichuỗi kýký tựtự

NốiNối cáccác chuỗichuỗi vừavừa nhậpnhập vàvà xuấtxuất kếtkết quảquả

Cài

Cài đặtđặt theotheo haihai cáchcách::

SửSử dụngdụng lớplớp mảngmảng độngđộng thuầnthuần túytúy

SửSử dụngdụng lớplớp mảngmảng độngđộng thuầnthuần túytúy

SửSử dụngdụng lớplớp string string vàvà vector vector củacủa thưthư việnviện STL.STL

Trang 13

Nội dung dung

 Thư Thư viện viện C++ C++.

 Thư Thư viện viện STL STL.

 Tính Tính đóng đóng gói gói

Trang 14

Tính đóng đóng gói gói

 Quy Quy tắc tắc hộp hộp đen đen::

 Thuộc Thuộc tính tính: : private private để để hạn hạn chế chế truy truy xuất xuất

 Phương Phương thức thức: : public public để để cung cung cấp cấp tính tính năng năng

class

class HocSinhHocSinh

{{{{

private:

char* m_hoTenm_hoTen;;

float m_diemVanm_diemVan;;

float m_diemToanm_diemToan;;

};

Dữ liệu (Thuộc tính)

Tính năng (Phương thức)

Trang 15

Tính đóng đóng gói gói

 Nhu Nhu cầu cầu xử xử lý lý vs vs quy quy tắc tắc hộp hộp đen đen::

 Có Có nhu nhu cầu cầu truy truy xuất xuất thuộc thuộc tính tính đối đối tượng tượng? ?

 PhươngPhương ánán 1: 1: private private  public.public

 PhươngPhương ánán 2: 2: phươngphương thứcthức truytruy xuấtxuất

char* m_hoTen m_hoTen;;

float m_diemVan m_diemVan;;

float m_diemToan m_diemToan;;

char* m_hoTen m_hoTen;;

float m_diemVan m_diemVan;;

float m_diemToan m_diemToan;;

public:

float& layDiemVan layDiemVan(); ();

float& layDiemToan layDiemToan(); ();

};

Trang 16

Tính đóng đóng gói gói

 Làm Làm sao sao vẫn vẫn tuân tuân thủ thủ quy quy tắc tắc hộp hộp đen đen? ?

 Đưa Đưa xử xử lý lý cho cho đối đối tượng tượng thực thực hiện hiện

class

class HocSinh HocSinh

{{

private:

char* m_hoTen m_hoTen;;

char* m_hoTen m_hoTen;;

float m_diemVan m_diemVan;;

float m_diemToan m_diemToan;;

public:

float float tinhDTB tinhDTB(); ();

int int xepLoai xepLoai(); ();

};

Trang 17

Tính đóng đóng gói gói

 Dr Guru Dr Guru khuyên khuyên: : quy quy tắc tắc “Tell, Don’t Ask” “Tell, Don’t Ask”

 Thông Thông tin tin đối đối tượng tượng



 Không Không thể thể truy truy xuất xuất từ từ bên bên ngoài ngoài

 Đối Đối tượng tượng nắm nắm giữ giữ thông thông tin tin



 Chịu Chịu trách trách nhiệm nhiệm xử xử lý lý thông thông tin tin.

 ““Đừng Đừng hỏi hỏi tôi tôi thông thông tin tin để để thực thực hiện hiện công công việc việc””



 ““Hãy Hãy nhờ nhờ tôi tôi làm làm giùm giùm!!” !!”

 Đã Đã giao giao thông thông tin tin



 G Giao iao luôn luôn xử xử lý lý thông thông tin tin.

Trang 18

float m_diemVan m_diemVan;;

float m_diemToan m_diemToan;;

Trang 19

Tóm tắt tắt

 Thư Thư viện viện C++: C++:

 Bộ Bộ công công cụ cụ dựng dựng sẵn sẵn hỗ hỗ trợ trợ lập lập trình trình C++ C++.

 Các Các thư thư viện viện phổ phổ biến biến::

 ThưThư việnviện chuẩnchuẩn::

 ThưThư việnviện boost.boost

ThưThư việnviện MFC.MFC

 ThưThư việnviện MFC.MFC

 Thư Thư viện viện STL: STL:

 Phần Phần chính chính yếu yếu của của thư thư viện viện chuẩn chuẩn

 Các Các lớp lớp dựng dựng sẵn sẵn: string, vector : string, vector.

 Tính Tính đóng đóng gói gói::

 Tell, Don’t Ask.

Trang 20

nhất 3 3 lớplớp đốiđối tượngtượng trongtrong thưthư việnviện::

 ThưThư việnviện chuẩnchuẩn

 ThưThư việnviện boost.boost

 ThưThư việnThưThư việnviện MFC.viện MFC.MFC.MFC

Trang 21

thúc bằngbằng dấudấu câucâu ((dấudấu , ?, !) ., ?, !) XâyXây dựngdựng cáccác lớplớp cầncần thiếtthiết đểđể::

 ĐọcĐọc mộtmột đoạnđoạn vănvăn từtừ file file vănvăn bảnbản

 ĐếmĐếm sốsố lượnglượng câucâu vàvà sốsố lượnglượng từtừ cócó trongtrong đoạnđoạn vănvăn

 TìmTìm từTìmTìm từtừ xuấttừ xuấtxuất hiệnxuất hiệnhiện nhiềuhiện nhiềunhiều nhấtnhiều nhấtnhất trongnhất trongtrong đoạntrong đoạnđoạn vănđoạn vănvăn văn

 SắpSắp xếpxếp tăngtăng dầndần ((thứthứ tựtự từtừ điểnđiển) ) cáccác từtừ trongtrong mỗimỗi câucâu

 GhiGhi đoạnđoạn vănvăn đãđã chỉnhchỉnh sửasửa vàovào file file vănvăn bảnbản

Trang 22

Bài tập tập

 Bài Bài tập tập 6.3: 6.3:

Xây

Xây dựngdựng lớplớp đa đa thức thức cócó nhữngnhững phươngphương thứcthức sausau::

((Nhóm Nhóm tạo tạo hủy hủy))

 KhởiKhởi tạotạo mặcmặc địnhđịnh đađa thứcthức = 0.= 0

 KhởiKhởi tạotạo vớivới bậcbậc vàvà mảngmảng hệhệ sốsố chocho trướctrước

 KhởiKhởi tạotạo từtừ mộtmột đốiđối tượngtượng đađa thứcthức kháckhác

 KhởiKhởi tạotạo từtừ mộtmột đốiđối tượngtượng đađa thứcthức kháckhác

 HủyHủy đađa thứcthức, , thuthu hồihồi bộbộ nhớnhớ

((Nhóm Nhóm truy truy xuất xuất thông thông tin) tin)

 LấyLấy bậcbậc đađa thứcthức

 LấyLấy hệhệ sốsố tạitại bậcbậc nàonào đóđó

Trang 23

 TínhTính giágiá trịtrị, , đạođạo hàmhàm, , nguyênnguyên hàmhàm

 TínhTính giágiá trịtrị, , đạođạo hàmhàm, , nguyênnguyên hàmhàm

((Nhóm Nhóm toán toán tử tử))

 ToánToán tửtử sốsố họchọc: +, : +, , *, /, =., *, /, =

 ToánToán tửtử so so sánhsánh: >, <, ==, >=, <=, !=: >, <, ==, >=, <=, !=

 ToánToán tửtử đạođạo hàmhàm (!), (!), nguyênnguyên hàmhàm (~).(~)

 ToánToán tửtử nhậpnhập xuấtxuất: >>, <<.: >>, <<

Trang 24

Bài tập tập

 Bài Bài tập tập 6.4: 6.4:

Xây

Xây dựngdựng cáccác lớplớp cầncần thiếtthiết đểđể thựcthực hiệnhiện cáccác thaothao táctác trêntrên tam tam giácgiác::

 TínhTính chuchu vi vi vàvà diệndiện tíchtích

 TìmTìm trọngtrọng tâmtâm ((giaogiao 3 3 đườngđường trungtrung tuyếntuyến).)

 TìmTìm đườngđường trungtrung trựctrực củacủa mộtmột cạnhcạnh ((vuôngvuông gócgóc tạitại trungtrung điểmđiểm).)

 TìmTìm tâmtâm đườngđường tròntròn ngoạingoại tiếptiếp ((giaogiao 3 3 đườngđường trungtrung trựctrực).)

 TìmTìm tâmtâm đườngđường tròntròn ngoạingoại tiếptiếp ((giaogiao 3 3 đườngđường trungtrung trựctrực).)

Ngày đăng: 12/01/2014, 16:57

TỪ KHÓA LIÊN QUAN

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

w