oop c# Flashcards

1
Q

nếu không có từ khoá nào thì mặc định 1 class, 1 method, 1 property

A

internal, private, private

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

hàm tạo - constructer có mấy loại

A

1.hàm tạo mặc định
VD:
public class Myclass
{
string name;
int age;
public Myclass()
{
// body
}
}
constructor này ko có tham số truyền vào, sau khi nó được gọi thì các giá trị sẽ được tạo mặc định với từng kiểu dữ liệu, name là null, age là 0
2.hàm tạo với tham số
VD:
public class MyClass
{
public int Number {get; set;}
public MyClass(int num)
{
Number = num;
}
}
3.Hàm tạo sao chép
VD:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }

public Person(string name, int age)
{
    Name = name;
    Age = age;
}
public Person Clone()
{
    return new Person(this.Name, this.Age);
} }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

từ khoá “this” để làm gì

A

1.truy nhập đến các thành viên của đối tượng
public class Person
{
public string Name;

public void SetName(string Name)
{
    this.Name = Name; // Sử dụng 'this' để chỉ rõ rằng 'Name' là thuộc tính của đối tượng.
} }

2.Truy nhập đến constructor trong constructer chaining
public class Customer
{
public int Id;
public string Name;
public readonly List<Order> Orders = new List<Order>();</Order></Order>

public Customer(int id)
{
    this.Id = id;
}

public Customer(int id, string name) : this(id)
{
this.Name = name;
}

public void DoSomething()
{
    // ...
} }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

hàm ảo virtual, override

A

https://howkteam.vn/course/ke-thua-trong-lap-trinh-huong-doi-tuong/da-hinh-trong-lap-trinh-huong-doi-tuong-1380

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

static

A

https://howkteam.vn/course/lap-trinh-oop-voi-c/tu-khoa-static-trong-lap-trinh-huong-doi-tuong-1374

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

biến tĩnh

A

-Khi khai báo biến đại phương là biến tĩnh thì chương trifnh dịch sẽ khởi tạo duy nhất 1 lần biến này và thông qua con trỏ stack ở những lần sau chỉ tham chiếu tới biến này mà k tạo ra biến mới
-Mỗi lần tham chiếu lưu giá trị lần tham chiếu trước.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

phương thức tĩnh

A

chỉ truy cập được vào thuộc tính tĩnh và không thể gọi các phương thức static trong cùng lớp

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

lớp tĩnh

A

chỉ chứa biến tĩnh và phương thức tĩnh, không thể khai báo khởi tạo 1 đối tượng thuộc lớp tĩnh

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

get và set

A

Trong lập trình hướng đối tượng (OOP) của C#, get và set là hai phương thức đặc biệt được sử dụng để truy cập và gán giá trị của các thuộc tính (property) của một đối tượng. Đây là cách chúng hoạt động:

get: Được sử dụng để lấy giá trị của một thuộc tính.
set: Được sử dụng để gán giá trị mới cho một thuộc tính.
VD:
public class Person
{
private string name; // Field (trường dữ liệu) không phải là thuộc tính

public string Name // Property (thuộc tính) với get và set
{
    get { return name; } // Phương thức get
    set { name = value; } // Phương thức set
} } trong hàm main: Person person = new Person(); person.Name = "John"; // Gọi phương thức set để gán giá trị "John" cho thuộc tính Name string name = person.Name; // Gọi phương thức get để lấy giá trị của thuộc tính Name
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

phân biệt “ref” và “out”

A

giống: đều là dạng tham chiếu
khác: ref thì cần được khởi tạo. out thì không. cụ thể tra chat gpt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

từ tham chiếu “this”

A

không dùng trong khối lệnh static

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

thuộc tính tĩnh

A

-Là thuộc tính mang thông tin chung của 1 lớp
-Giả sử có 2 đối tượng. đối tượng 1 được khởi tạo trước đối tượng 2.
ví dụ cho lớp car có thuộc tính “public static string color” thì cho car1.color = red. car2.color = blue thì lúc này car1.color = blue

How well did you know this?
1
Not at all
2
3
4
5
Perfectly