Chapter 2: UML class diagram Flashcards

1
Q

ចូរនិយាយអំពីទំនាក់ទំនងជា Generalization ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។​ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Generalization គឺជាទំនាក់ទំនងដែលមានទម្រង់ជា inheritance រវាង class និង class ដោយclass មួយ ទទួលមរតកពី class មួយផ្សេងទៀត។ វាប្រេីប្រាស់ keyword (is a) ។ វាគូសដោយបន្ទាត់ត្រង់ហេីយមានក្បាលព្រួញបិទជិតត្រង់ class ដែលជា base class។
public class Animal{
public virtual void Speak(){
Console.WriteLine(“The animal makes a sound.”);
}
}
public class Dog : Animal{
public override void Speak(){
Console.WriteLine(“The dog barks.”);
}
}

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

ចូរនិយាយអំពីទំនាក់ទំនងជា Dependency ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។​ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Dependency Relationship គឺជាទំនាក់ទំនងមួយរវាង object នៃ class មួយទៅ Access ប្រើ object នៃ class មួយទៀត (ប្រើតែមួយខណៈពេលណាមួយប៉ុណ្ណោះ) ។ វាគូសដោយបន្ទាត់ដាច់ៗ ត្រង់ ហើយក្បាលព្រួញបើក។ ទំនាក់ទំនងនេះប្រើប្រាស់ keyword​ (use)។
class HelloWorld {
static void Main(){
Teacher teacher = new Teacher ();
teacher.Teacher ();
}
}
class Teacher {
public void Teacher (){
Marker marker = new Marker ();
marker.Write();
}
}
class Marker{
public void Write(){
Console.WriteLine(“This is a marker class”);
}
}

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

ចូរនិយាយអំពីទំនាក់ទំនងជា Association ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Association Relationship គឺជាទំនាក់ទំនងរវាង object នៃ class មួយ​និង object នៃ class មួយផ្សេងទៀតដែល strong ជាង Dependency (ប្រើវាលើសពីមួយខណៈពេល)។ វាគូសដោយបន្ទាត់ជាប់ ត្រង់ ហើយក្បាលព្រួយបើក។ ទំនាក់ទំនង association ប្រើប្រាស់ដោយ keyword (has)។
class Program
{
static void Main (string [] args)
{
Car car = new Car();
Engine engine = new Engine ();
car.StartCar(engine);
}
}
public class Car {
public void StartCar(Engine engine){
engine.StartEngine();
}
}
public class Engine {
public void StartEngine(){
Console.WriteLine(“Engine is running.”);
}
}

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

ចូរនិយាយអំពីទំនាក់ទំនងជា Realization ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Realization គឺជាទំនាក់ទំនងរវាង interface និង class ដែលមានទម្រង់ជា contract to implementation ។ វាគូសដោយបន្ទាត់ដាច់ៗហេីយក្បាលព្រួញបិទជិតនៅត្រង់ interface។
public interface IAnimal{
void Speak();
}
public class Dog : IAnimal{
public void Speak(){
Console.WriteLine(“The dog barks.”);
}
}

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

ចូរនិយាយអំពីទំនាក់ទំនងជា Aggregation ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Aggregation Relationship គឺជាទំនាក់ទំនងមួយដែលសំដៅលើ ( whole part relationship) ដែលមានទំនាក់ទំនងជា object នៃ class មួយទៅ object នៃ class មួយទៀត។ ដោយ owning class ពឹងផ្អែកទាំងស្រុងទៅលើ owned class។ វាប្រើប្រាស់ keyword (owns) ដោយត្រូវគូសដោយបន្ទាប់ត្រង់ និងដាក់ diamond ត្រង់ owning class។
class Progarm {
static void Main(string[] args){
RAM ram = new RAM();
Computer computer = new Computer();
computer.Ram = ram;
computer.ShowComputer();
}
}
public class Computer{
public RAM Ram;
public void ShowComputer(){
Ram.DisplayRAM();
}
}
public class RAM{
public void DisplayRAM(){
Console.WriteLine(“RAM is 16GB”);
}
}

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

ចូរនិយាយអំពីទំនាក់ទំនងជា Composition ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Composition Relationship គឺជាទំនាក់ទំនងជា whole part relationship រវាង object នៃ class មួយ និង object នៃ class មួយផ្សេងទៀត។ Owned ពឹងផ្អែកទាំងស្រុងទៅលើ owning ។ វាប្រើប្រាស់ keyword is part of ហើយមាន filled diamond ត្រង់ owning class និងគូសបន្ទាប់ជាប់ត្រង់ទៅកាន់ owned class។
class Progarm {
static void Main(string[] args){
Body body = new Body();
body.Live();
}
}
public class Heart{
public void Pump(){
Console.WriteLine(“Heart Pump blood”);
}
}
public class Body{
Heart heart = new Heart();
public void Live(){
heart.Pump();
}
}

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

ចូរនិយាយអំពី Abstract class ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។

A

Abstract Class គឺជា class ដែលផ្ដល់នូវ operation signature, តែវាគ្មាន implementation ទេហេីយវាប្រហែលជាគ្មាន operations អ្វីទាំងអស់។ វាមានសារៈប្រយោជន៍ក្នុងការកំណត់មុខងារទូទៅ នៅលេីប្រភេទនៃ object.
ហេីយ UML បង្ហាញ abstract class តាមរយៈការសរសេរឈ្មោះនិងoperation ជាអក្សរទ្រេត ។

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

ចូរនិយាយអំពី Interface ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។

A

Interface គឺជា classifier ដែលមានតែការប្រកាសនៃ properties និង methods ប៉ុន្តែគ្មាន implementations ទេ ហើយ Interface មានទម្រង់ជា stereotype «interface» នៅក្នុង UML class diagram ។

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

ចូរនិយាយអំពី Template ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។

A

Template គឺជា parameterized class នៅក្នុង UML and programming ដែលវាគឺជាវិធីសាស្ត្រមួយ សម្រាប់ឲគេកំណត់នៅ generate class ជំនួសឲយើងកំណត់នៅ specific data type នៅពេលដែលយើងបង្កើតclass
Template កំណត់ឲយើងកំណត់class ដែលអាចដំណើរការជាមួយប្រភេទផ្សេងៗគ្នា។
Formal parameter ត្រូវបាន list នៅក្នុងបន្ទាត់ដាច់ៗរាងចតុកោណកែងដែលស្ថិតនៅខាងលើ ផ្នែងខាងស្តាំច្រុងនៃ shape។
public class HelloWorld{
public static void Main(string[] args){
Container<string> stringContainer = new Container<string>();
stringContainer.Add("Hello World!");
Console.WriteLine($"Stored item: {stringContainer.Get()}");
}
}
public class Container<ElementType>{
private ElementType item;
public void Add(ElementType newItem){
item = newItem;
Console.WriteLine($"Item added: {item}");
}
public ElementType Get(){
return item;
}
}</ElementType></string></string>

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

ចូរនិយាយអំពី Classes ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។

A

Class ក្នុង UML class diagram គឺជាការតំណាងឲ្យវត្ថុមួយក្រុមដែលមាន common states និង behavior ។ class មានលក្ខណៈជាចតុកោណកែងបែងចែកជាផ្នែកក្នុង compartment សម្រាប់សរសេរព័ត៌មាន។ class ក្នុង UML class diagram គឺគេចែកចេញជា ៣ compartment ធំៗគឺ compartment ទី1 យើងត្រូវដាក់ឈ្មោះ class ,compartment ទី2 យើងត្រូវដាក់ attribute/field និង compartment ទី3 ដាក់ជា operation មានដូចជា method និង property ។

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