Chapter 2: UML class diagram Flashcards
ចូរនិយាយអំពីទំនាក់ទំនងជា Generalization ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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.”);
}
}
ចូរនិយាយអំពីទំនាក់ទំនងជា Dependency ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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”);
}
}
ចូរនិយាយអំពីទំនាក់ទំនងជា Association ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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.”);
}
}
ចូរនិយាយអំពីទំនាក់ទំនងជា Realization ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
Realization គឺជាទំនាក់ទំនងរវាង interface និង class ដែលមានទម្រង់ជា contract to implementation ។ វាគូសដោយបន្ទាត់ដាច់ៗហេីយក្បាលព្រួញបិទជិតនៅត្រង់ interface។
public interface IAnimal{
void Speak();
}
public class Dog : IAnimal{
public void Speak(){
Console.WriteLine(“The dog barks.”);
}
}
ចូរនិយាយអំពីទំនាក់ទំនងជា Aggregation ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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”);
}
}
ចូរនិយាយអំពីទំនាក់ទំនងជា Composition ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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();
}
}
ចូរនិយាយអំពី Abstract class ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។
Abstract Class គឺជា class ដែលផ្ដល់នូវ operation signature, តែវាគ្មាន implementation ទេហេីយវាប្រហែលជាគ្មាន operations អ្វីទាំងអស់។ វាមានសារៈប្រយោជន៍ក្នុងការកំណត់មុខងារទូទៅ នៅលេីប្រភេទនៃ object.
ហេីយ UML បង្ហាញ abstract class តាមរយៈការសរសេរឈ្មោះនិងoperation ជាអក្សរទ្រេត ។
ចូរនិយាយអំពី Interface ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។
Interface គឺជា classifier ដែលមានតែការប្រកាសនៃ properties និង methods ប៉ុន្តែគ្មាន implementations ទេ ហើយ Interface មានទម្រង់ជា stereotype «interface» នៅក្នុង UML class diagram ។
ចូរនិយាយអំពី Template ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។ ចូរលើកឱទាហរណ៍ដោយការសរសេរកូដ។
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>
ចូរនិយាយអំពី Classes ឲ្យបានក្បោះក្បាយទាក់ទងនឹង UML class diagram។
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 ។