LTHDT - Câu 8 ->19

Màu nền
Font chữ
Font size
Chiều cao dòng

Câu 8: K/n Lớp đối tượng
C++ có lớp là sự trìu tượng hóa các đối tượng, là 1 khuân mẫu để biểu diễn các đối tượng thoogn qua thuộc tính và các hành động đặc trưng ý đối tượng
- Cú pháp định nghĩa lớp đối tượng
Class ( Trên lớp ){
};
Trong đó:
+ Class là tên từ khóa tắt đc để định nghĩa 1 lớp  trong C++
+ Trên lớp : Do người dùng tự định nghĩa. Tên lớp có 1 tính chất như tên kiểu dữ liệu sau này
VD: Class Car {
         };
+ Sử dụng lớp đối tượng:  Đc sử dụng khi tac khai báo các thể hiện của lớp đó. Thể hiện của 1 lớp chính là 1 đối tượng cụ thể trong lớp đó
- Khai báo: (Tên lớp) ( Tên biến lớp );
+ Tên lớp là tên lớp đối tượng đc định nghĩa trước khi khai báo
+ Tên biến lớp: Là tên đối tượng cụ thể
• Lưu ý: khi khai báo biến lớp biến lớp ta ko dùng từ khóa khai báo class. Class chỉ sử dụng khi định nghĩa lớp mà ko dùng khi khai báo biến lớp.

Câu 9: Trình bày cách khai báo khuân mẫu phương thức, định nghĩa, cách sử dụng.
- Cách khai báo khuân mẫu phân thức:
+ 1 phương thức là 1 thao tác thực hiện 1 số hành động của đặc trưng của 1 lớp đối tượng; Đc khai báo như trong C++
( kiểu trỏ về ) ( Tên phương thức ) ( [ ( Các tần số ) ] )
Vd: Class car {
        Private ;
        Int speed ;
        Char mark [ 20 ];
Public ;
Void show ( ) ;
• lưu ý: Khái niệm truy nhập phương thức tù bên ngoài phụ thuộc vào phương thức đc khai báo trong phạm vi của từ khóa: private, pritehed, public.
- Định nghĩa: Trong C++ việc cắt đặt chi tiết nôi dung của phương thức có thể hiện tiến hành ngay trong phạm vi lớp của bên ngoài. Phạm vi định nghĩa những lớp
- Nếu cài đặt phương thức ngay trong phạm vi định nghĩa: cú pháp
  < Kiểu trả về > < Tên phương thức > ( [ Các tần số ] ) {
     ……………… Cài đặt chi tiết…………………
}
- Nếu cài phương thức ngay bên ngoài phậm vi định nghĩa lớp, ta phải dùng chỉ thị phạm vi “ :: ” để chi ra 1 phương thức của lớp mà không phải là 1 hàm tự do trong chương trình
  < Kiểu trả về > < tên của lớp( class ) > : : < Tên phương thức >( [ < Các tần số > ] )
…………........... Cài đặt chi tiết………………..
}
- Cách sử dụng phương thức
+ Các phương thức có thể sử dụng bên ngoài lớp thông qua tên biến lớp hoặc có thể đc dùng ngay trong lớp bởi các phương thức khác của lớp định nghĩa nó
+ Nếu phương thức đc dùng bên ngoài phạm vi lớp, cú pháp phải là thông qua tên biến lớp ( cách này chỉ sử dụng với các PT có tính chất public )
+ < Tên biến > < Tên PT > ( [< các đối số >] )
+ Nếu thuộc tính đc dùng trong lớp cú pháp:
   < Tên PT > ([< Các đối số>]);

Câu 10: Trình bày các kiểu phạm vi truy nhâp lớp
- Một số khái niệm về phạm vi xếp từ lớn đến bé như sau:
+ phạm vi khối lệnh: trong phạm vi giữa 2 dấu giới hạn “ { }” của 1 khối lệnh. VD: Các lệnh trong khối lệnh lặp while ( ) sẽ có dùng phạm vi khối lệnh
+ Dấu cộng phạm vi hàm; Các lệnh trong cùng 1 lớp có cùng phạm vi lớp với nhau, các thuộc tính và phương thức của cùng 1 lớp
+ Phạm vi chương trình ( phạm vi tệp ) Các lớp các hàm các biến đc khai báo và định nghĩa trong cùng 1 tệp chương trình thì cùng phạm vi chương trình
+ Phạm vi truy nhập lớp đc quy định bởi các từ khóa:
Private: các thành phần của lớp có thuộc tính private thì chỉ có thể truy nhập trong phạm vi lớp
Protedted: Có ảnh hưởng tương tự như thuộc tính private các thành phần lớp có thuộc tính protedted chỉ có thể truy nhập trong phạm vi lớp
Public: có thể truy nhập trong phạm vi chương trình. Có thể truy nhập trong các hàm tự do, các Pt bên trong lớp khác.

Câu 11: Trình bày các kiểu hàm bạn, hàm tự do là bạn của lớp đc khai báo như thế nào?
- Có 2 kiểu hàm bạn có bạn trong C++
+ 1 hàm tự do là 1 hàm bạn của 1 lớp
+ 1 hàm thành phần ( Pt ) của 1 lớp là bạn của 1 lớp khác
Ngoài ra còn có 1 số kiểu hàm bạn mở rộng từ các kiểu này
+ 1 hàm là bạn của nhiều lớp
+ Tất cả các hàm của 1 lớp là bạn của lớp khác ( Lớp bạn )
- Cách khai báo hàm tự do của 1 lớp
+ 1 hàm bạn của 1 lớp đc khai báo bằng từ khóa friend khi khao báo khuân mẫu hàm trong lớp tương ứng
Class < Tên lớp > {
Friend < kiểu trả về > < tên hàm bạn > ( [ < các hàm số > ] };
};
- Định nghĩa chi tiết hàm bạn
< Kiểu trỏ về > < Tên hàm bạn > ([< Các hàm số >]) {
………………. Có thể truy nhập trực tiếp các thành phần private
………………..của các lớp đã khai báo
}

Câu 12: Lớp bạn là gì? Cách khai báo và định nghĩa lớp bạn
- Lớp bạn: khi tất cả PT của 1 lớp là bạn của 1 lớp khác , thì lớp của các PT đó cũng trở thành lớp bạn của Pt kia
- Khai báo: Lớp B là lớp bạn của lớp A:
Class B;
- Định ngĩa lớp A, với khai báo lớp B là lớp bạn
             Class A {
   ……… Khai báo thành phần của lớp A
…………. Khai báo lớp bạn B
Friend class B;
};
- Định nghĩa chi tiết lớp B
            Class B {
            ……… khai báo các thành phần đặc biệt của lớp B
};
 
Câu 13: Hàm khởi tạo là gì, trình bày cách khai báo và sử dụng hàm khởi tạo
- Hàm khởi tạo đc gọi mỗi khi khai báo 1 đối tượng của lớp ngay cả khai ko đc kai báo tường minh; C++ cũng gọi là hàm khởi tạo ngầm định khi đối tượng dc khai báo
- Khai báo hàm khởi tạo
                  Class < tên lớp > {
        Public;
          <Tên lớp > ([< Các tham số>]);
};
VD:  Class car
         Int speed
        Char mark [20];
Float price;
Public
Car ( int speed In, Char mark In [], float price In ) {
Speed = speed In ;
Struct (mark, mark In);
}
  };
- Lưu ý: Hàm khởi tạo phải có tên trùng với tên của lớp
+ Hàm khởi tạo không có giá trị trỏ về
+ Hàm khởi tạo có tính chất public
+ có thể có nhiều hàm khởi tạo cùng 1 lớp
- Sử dụng hàm khởi tạo: Đc sử dụng khi khai báo biến lớp, khi đó ta có thể vừ khai báo vừa khởi tạo giá trị các thuộc tính của đối tượng lớp
< Tên lớp > < Tên đối tượng > ( [ < các đối tượng khởi tạo >])
Vd: Car my car ( 100, “ford ”, 3000);
Hàm khởi tạo Car ( int, char [ ], foad )
 
Câu 14: hàm hủy là gì ? tringf bày cách khai báo của hàm hủy
- Hàm hủy bỏ được tự động gọi đến khii mà đơi tượng được giải phóng khỏi bộ nhớ. Nhiệm vụ của hàm này là dọn dẹp bộ nhớ trước khi đối tượng được giải phóng.
- cách khai báo
    Class < tên lớp > }
    Public
      <trên lớp > ([< các tham số >]); khai báo hàm khởi tạo
};
VD class car {
Int speed;
Char * mark ;
Float price;
Public;
~Car () } delete [ ] mark ;
};
};
Lưu ý: Hàm hủy bỏ phải bắt đầu có ~
            ……………ko có giá trị trả về
                    …………….. phải có tính chất public
                    Mỗi lớp nhiều nhất chỉ 1 hàm bị hủy bỏ
 
Câu 15: Con trỏ đối tượng là gì? Cách khai báo và sử dụng
- Con trỏ đối tượng là con trỏ đến địa chỉ của 1 đối tượng có kiểu lớp
- Cách khai báo con trỏ đối tượng
        < tên lớp > * < tên con trỏ đối tượng > ;
- Sử dụng con trỏ đối tượng
+ Con trỏ đối tượng đc sủ dụng qua các thao tác: trỏ đến địa chỉ của 1 đối tượng cùng lớp, truy nhập đến các phương thức của lớp
< tên con trỏ đối tượng> = và < tên đối tượng có sẵn >;
 
Câu  16: Tính thừa kế là gì? Cách khai báo?
Tính thừa kế cho phép 1 đối tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa.
< cho phép các đối tượng chia sẻ các đặc tính sẵn có mà ko phải tiến hành định x lại>
- Cách khai báo
Class < tên lớp dẫn suất > : < từ khóa dẫn suất><tên lớp cơ sở>{
……………..khai báo các thành phần của lớp
};
Trong đó: tên lớp dẫn suất là kế thừa từ lớp khác
+ tên lớp cơ sở là tên lớp đã đc định như trước đó để cho lớp khác kế thừa
+ từ khóa dẫn suất là từ khóa quy đinh tính chất của sự kế thừa có 3 từ khóa dẫn suất.Private, proteated, public

Câu 17:tính dẫn suất lớp cơ sở trong kế thừa thể hiện ntn.
Sự kế thừa cho phép trong lớp dẫn suất có thể sử dụng lại 1 số nguồn của các phương thức và thuộc tính đã đc nói trong lớp cơ sở. X là lớp dẫn xuất có thể truy nhập trực tiếp đến 1 số thành phần của lớp cơ sở. Phạm vi truy nhập đc quy định bởi các từ khóa dẫn suất
Kiểu dẫn suất                       T/ C lớp cơ sở                           T/C dẫn suất
Private                                  private                                         ko truy nhập đc
                                        Protected                                      private
                                      public                                           private
protected                    private                                          ko truy nhập đc   
                        protected                protected
                                          public                    protected
public                                     private                                         ko truy nhập đc
                                                protected                                      protected
                                               public                                          public
        
Câu 18: Hàm khởi tạo không kế thừa thể hiện ntn? Cú pháp khai báo hàm khởi tạo
Khi khai báo 1 đối tượng có kiểu lớp đc dẫn suất từ 1 lớp cơ sở #, chương trình sẽ tự động tới hàm khởi tạo của 1 lớp dẫn suất
Thứ tự đc gọi sẽ bắt đầu từ hàm khởi tạo tương ứng của lớp cơ sở sau đó đến hàm khởi tạo của lớp dẫn suất
-    Cú pháp khai báo:
                < tên hàm khởi tạo dẫn suất > ([< các tham số>]);
                 < tên hàm khởi tạo cơ sở> ([< các đối số>]) {
                      ……………..khởi tạo các thuộc tính
};
=>có thể viết như sau
    < tên lớp dẫn suất> ([< các tham số>]);
< tên lớp cơ sở > ([< các đối số>]) {
……….kế thừa bên trong của lớp dẫn suất ( các thuộc tính )
Vd Bus () : Car () {
        ……...
};

Câu 19: Hàm hủy bỏ trong kế thừa thể hiện ntn?
Khi 1 đối tượng lớp dẫn suất bị giải phóng khỏi bộ nhớ thứ tự gọi là các hàm hủy bỏ ngược với thứ tự gọi là hàm thiết lập; gọi là hàm hủy bỏ của lớp dẫn suất trước gọi là hàm hủy bỏ của lớp cơ sở.
Khai báo:
< Tên lớp> : : < tên lớp> ([< các tham số>]) {
…giải phóng phần bộ nhớ cấp phát cho các thuộc tính bổ sung
};

Bạn đang đọc truyện trên: Truyen2U.Pro