... h c: LậpTrìnhHướngĐốiTượng C+ +
Số đơn vị h c trình: 3
Kiến th c tiên quyết: Lậptrìnhc bản
Nội dung chính:
Truyền đạt những khái niệm, nguyên lý c bản c a
LậpTrìnhHướngĐối ... ĐốiTượng (OOP).
Minh họa lậptrìnhhướngđốitượng bằng
ngôn ngữ C+ +.
1
LẬP TRÌNHHƯỚNGĐỐI TƯỢNG
LẬP TRÌNHHƯỚNGĐỐI TƯỢNG
C
C
++
++
Bộ môn Hệ Thống Máy Tính & Truyền Thông
Khoa C ng ... Con trỏ, tính toán con trỏ, bộ nhớ động
Con trỏ hàm, tham chiếu
Chương 5
12
Lập TrìnhHướngĐốiTượng
Lập TrìnhHướngĐối Tượng
M c tiêu
Giới thiệu những khái niệm c bản trong lập
trình...
... 8
Đối Số M c Định - Hàng Lệnh
Đối Số M c Định - Hàng Lệnh
Đối số m c định
bỏ bớt đi gánh nặng phải chỉ định cc giá trị
c a đối số cho tất ccc tham số hàm
Đối số hàng lệnh
C thể ... số, đối số, phạm vi
Biến tự động, biến thanh ghi, biến nội tuyến
Đối số m c định, đối số hàng lệnh
Chương 4
5
Phạm Vi Toàn Cc – Cc Bộ
Phạm Vi Toàn Cc – Cc Bộ
Phạm vi toàn c c
Đư c ...
phạm vi chương
trình
Phạm vi cc bộ
Đư c định nghĩa ở
phạm vi khối hay
hàm
Toán tử phạm vi
::
int xyz = 1; // xyz là toàn c c
void Foo (int xyz) // xyz là cc bộ cho thân c a Foo
{
...
... Department
2 4
3. Cc bư c thiết kế chương trình OOP
3. Cc bư c thiết kế chương trình OOP
C c bư c chính:
X c định cc dạng đốitượng (lớp)
Tìm dữ liệu dùng chung, chia xẻ
X c định lớp c sở dựa ... tiện để đốitượng này chuyển yêu c u tới đối
tượng kh c.
Một thông điệp bao gồm:
Handle c a đốitượng đích (đối tượng chủ)
Tên phương th c cần th c hiện
C c thông tin c n thiết kh c (tham ... Department
9
1.3 Lậptrình môđun
1.3 Lậptrình môđun
Với lậptrình môđun:
C c thủ t c có chung một ch c năng đư c nhóm lại với
nhau
Chương trình đư c chia thành nhiều phần nhỏ
C c phần tương t c thông...
...
- C+ + là một sự mởi rộng c a C, do đó c thể sử dụng một chương trình biên dịch
C+ + để dịch và th c hiện cc chương trình viết bằng C
- C yêu c u cc chú thích nằm giữa /* và */. C+ + cho ... lớp c ng chia sẻ cc thu c tính tĩnh c a lớp đó
c. / Mỗi thể hiện c a một lớp ccc định nghĩa riêng cho cc phương th c của nó.
d./ Mỗi đốitượng là một thể hiện c a một lớp
C u 2:
Cc từ ... gán.
CT3_10.CPP
LẬP TRÌNHHƯỚNGĐỐITƯỢNG VỚI C+ +
Trang 48
Bài 5
Xây dựng một lớp biểu diễn cc vector n chiều với cc toán tử c ng, trừ, tích c
hướng hai vector và tích vô hướng...
... đó sẽ là thu c tính chỉ đ c (ho c chỉ ghi)
Ngoài ra, C# c n cho phép sử dụng cc bổ từ trư ccc phương th c
get, set để giới hạn truy c p đến thu c tính
Thu c tính tĩnh
C ch sử dụng giống ... hạn
private Chỉ đư c sử dụng trong class khai báo nó
protected Chỉ đư c sử dụng trong class khai báo nó và cc
class dẫn xuất
internal Chỉ đư c sử dụng trong cc class c ng khối
assembly với class ... trừu tượng ta c thể tạo cc phương th c trừu tượng,
mọi lớp dẫn xuất từ lớp này sẽ phải override tất ccc phương
th c trừu tượngc a nó
abstract public void Sound()
Tạo class
Ví dụ:
public class...
... trìnhtrì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 ... diệndiện chocho chuỗichuỗi kýký tựtự
GiảiGiải quyếtquyết 3 3 vấnvấn đềđề con con trỏtrỏ
C cC c phươngphương thứcth c chínhchính::
Phương
th c
Ý
nghĩa
8Phương pháp lậptrìnhhướngđốitượng ... năng
(Phương th c)
BàiBài tậptập
BàiBài tậptập 6.4:6.4:
XâyXâ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...
... quá trình phát triển c a C+ + cc nhà cung c p cctrình biên dịch ccc qui
ư c ñặt tên kh c nhau và cc hệ ñiều hành lại ccc hạn chế tên kh c nhau ñ c biệt là
ñộ dài c a tên file. Cc vấn ... thu c tính c thể thay ñổi) và cc năng l c (c ng vi c mà
chúng c thể th c hiện).
Đối tượng th c = Trạng thái (c c thu c tính)+ Cc năng l c (hành vi)
Đối tượnglậptrình = Dữ liệu + Cc hàm ... và cc biến
C c biến nằm trong hàm c ng như cc biến là tham số ñư c truyền c ng với một
hàm ñư c gọi là cc biến cc bộ c a một hàm. Cc biến nằm ngoài cc hàm ñư c gọi
là cc biến toàn c c. ...
... lớp
(static Class Members)
Mỗi đốitượngc a lớp c một bản sao riêng c a tất ccc thể hiện
c a biến
Đôi khi sẽ thật c ích nếu tất ccc thể hiện c a một lớp c chung
một bản sao c a biến ... khoá static cho phép tạo một bản sao duy
nhất cho một biến tại một thời điểm(đư c dùng chung cho tất ccc
đối tượngc ng lớp)
Phạm vi c thể đư c x c định cho cc biến static (public,
private, ... không c Constructor thì C# sẽ sử
dụng constructor m c định ( không chứa tham số ) và khởi
tạo cc biến thành viên với giá trị m c định :
Cc biến giá trị số đư c gán bằng 0
Cc biến đối tượng...
... Không cho soạn thảo, chỉ đ c.
11. Panel ( )
a. C ng dụng:
- Bảng chứa cc control hay một nhóm cc control.
b. Tạo Panel:
- Chọn c ng c
- Rê chuột và vẽ Panel.
c. Thu c tính:
Thu c tính ... phải c một c t (ho c một tập cc cột) mà giá trị dữ liệu c a nó x c định duy
nhất một dòng trong tập hợp cc dòng trong bảng.
- Một c t (ho c một tập cc cột) c tính chất này gọi là khóa chính ... trong cc lựa chọn trong danh sách.
b. Tạo RadioButton:
- Chọn c ng c
- Rê chuột và vẽ RadioButton trên form.
c. Thu c tính:
Thu c tính Mô tả
Checked Không c dấu chọn (False) / C dấu chọn...
... thích
Một chương trình đư c viết tốt thì c n phải c chú thích cc đoạn mã đư c viết. Cc đoạn
chú thích này sè không đư c biên dịch và c ng không tham gia vào chương trình. M c đích
chính là làm cho ...
namespace đư c xem như là tập hợp cc lóp đối tượng, và cung c p duy nhất cc định danh
cho cc kiểu dữ liệu và đư c đặt trong một c u tr c phân c p. Vi c sử dụng namespace trong
khi lậptrình ... C# c thể chạy trên bất c máy nào?
Trả lời 1: Không phải tất c . Một chương trình C# chỉ chạy trên máy c Common Language
Runtime (CLR) đư c cài đặt. Nếu chúng ta copy một chương trình exe c a...
... ý
o
%:.29$%Q
,R#0
o
K'/$ C #SS#TT#
#U;LB###V#
R#:#:'/W%$%&0
o
K$+X;<#=#>#?#@6
< ;C# =C# > ;C# ?C # @C YZ&'/$+0
C c toán tử logic hai ngôi
I4$
CC::Ihb.'/#
DC::Ih#
F::i(#
E::e(#
FC# ... (tt)
??::CC
I:ICCoMoMr#oMoMw
N
oMr0>oMw01CCoMw0>oMr01n
P
??::DCn
I:IDCoMoMr#oMoMw
N
DoMrCCoMwn
P
??::w:I
I3Ix\:Iy
N
:0ujvox\:vn
RD:oMR:n
:CCoMn
P
??:
I:oM<oMoMr#oM
oMw
N
11 C oMr01>oMw01n
1 C oMw01>oMr0<oMr01>oMw0n
VoM1#11n
P
??:%%3D
I:oM<<oMoM
N
oM0 C oM01<oM0n
oMn
P
??:3#R:
??;%:
I:%IoMoM
N
oM01DCsn
P
??o:
I3:M
N
M: C 0M<v?v<10M
n
:n
P
P
Chú ... (tt)
::oMz
N
:31
N
oMRr C VoM{#|n
:0ujvRr;NsPv#Rr0Mn
oMRw C VoMw#|n
:0ujvRw;NsPv#Rw0Mn
oMR{ C Rr<Rwn
:0ujvRr<Rw C R{;NsPv#R{0Mn
oMR| C R{<}n
:0ujvR{<} C R|;NsPv#R|0Mn
oMR} C VoM|#~n
RR}CCRw
N
:0ujva};NsPCCaw;NrPv#R}0M#Rw0Mn
P
:0•jnPP
!: xây dựng lớp phân số và c i đặt
c c phép toán trên phân số (tt)
??::CC
I:ICCoMoMr#oMoMw
N
oMr0>oMw01CCoMw0>oMr01n
P
??::DCn
I:IDCoMoMr#oMoMw
N
DoMrCCoMwn
P
??::w:I
I3Ix\:Iy
N
:0ujvox\:vn
RD:oMR:n
:CCoMn
P
??:
I:oM<oMoMr#oM
oMw
N
11 C oMr01>oMw01n
1 C oMw01>oMr0<oMr01>oMw0n
VoM1#11n
P
??:%%3D
I:oM<<oMoM
N
oM0 C oM01<oM0n
oMn
P
??:3#R:
??;%:
I:%IoMoM
N
oM01DCsn
P
??o:
I3:M
N
M: C 0M<v?v<10M
n
:n
P
P
Chú...
... Console.Write("Enter your choice (a/b /c) : ");
c= char.Parse(Console.ReadLine());
switch (c)
{
case 'a':
Console.WriteLine("You picked a!");
break;
case 'b':
Console.WriteLine("You ... while
Vòng lặp for
Lệnh switch
•
Lệnh switch đư c sử dụng khi c nhiều nhánh rẽ
phụ thu c vào giá trị c a c ng một biến.
C pháp:
switch ( biểu_th c_ lựa_chọn )
{
case biểu_th c_ hằng :
khối lệnh;
... 0xffffffffffffffff.)
3. C u lệnh
C u lệnh kết th c bằng dấu “;”.
Ví dụ:
int x; // là một c u lệnh
x = 23; // một c u lệnh kh c
Lệnh switch
using System;
class vidu
{
static void Main()
{
char c;
Console.Write("Enter...