What's new

Closed Principles of Object Oriented Programming

Status
Not open for further replies.
Joined
Jun 21, 2020
Posts
124
Reaction
49
Points
66
Encapsulation
- ito ay pagtago ng property or method sa isang object

C#:
//Sa Halimbawang eto hindi mo direktang makikita, malalagyan o mababawasan ang laman ng balance dahil kailangan mong tawaging ang mga method.
//Sa paggamit ng private hindi mo pinahihintulutan ang programmer na gagamit ng BankAccount object na makita ang balance
class BankAccount{

    private double balance;
    
    public void Deposit(double pera){
        balance += pera;
    }

    public void Widthraw(double magkano){
        balance -= magkano;
    }   

    public void GetBalance(){
        return balance;
    }       
    
}

Inheritance
- ito ay ang pag gamit ng class para gumawa pa ng isa pang object. Imbis na paulit ulit mong i-code ang lahat ng property ng tao. Pwede mo na lang manahin lahat ng nadeklara mong properties sa iba pang object


C#:
class Tao{
    public string Pangalan{get;set;}
    public int Edad{get;set;}       
 }

 class Guro:Tao{
    public string SSSNo;
    
 }

 class Estudyante:Tao{
    public string GradeSaEnglish;
 }
 
 static Main(){

    Guro guro=new Guro();
    //Lahat ng property ng Tao nakuha ng Guro
    guro.Pangalan = "Miss Tapya";
    guro.Edad = 40;
    guro.SSSNo = "123151";

    Estudyante estudyante=new Estudyante();
    //Lahat ng property ng Tao nakuha ng Estudyante
    estudyante.Pangalan = "Juan dela Cruz";
    estudyante.Edad = 15;
    estudyante.GradeSaEnglish = 75;

 }


Abstraction
- Eto ay pagtago ng tunay na paggana ng isang object o pasimplehin ang paggamit ng isang Object.

C#:
class Kape{

    private string TasangMayKape;

    

    public string TimplaNgKape(){

        KumuhaNgTasa();

        LagyanNgKapeAngTasa();

        LagyanNgAsukalAngTasa();

        LagyanNgGatasAngTasa();

        LagyanNgTubig();

        return TasangMayKape

    }

    

    private void KumuhaNgTasa(){

        TasangMayKape+=Tasa;

    }



    private void LagyanNgKapeAngTasa(){

        TasangMayKape+=Kape;   

    }   

    private void LagyanNgAsukalAngTasa(){

        TasangMayKape+=Asukal;       

    }       

    private void LagyanNgGatasAngTasa(){

        TasangMayKape+=Gatas;           

    }   

    private void LagyanNgTubig(){

        TasangMayKape+=Tubig;               

    }   

}

Polymorphism

- Parang pareho ng Inheritance pero eto ay pag-override sa methods ng namana na class.

C#:
class Tao{

    public string Pangalan{get;set;}

    public int Edad{get;set;}       

    public void Takbo(){

        Console.WriteLine("Takbo");

    }

 }



 class Guro:Tao{

    public string SSSNo;

    public override void Takbo(){

        Console.WriteLine("Takbo ang Titser");

    }

 }



 class Estudyante:Tao{

    public string GradeSaEnglish;

    public override void Takbo(){

        Console.WriteLine("Takbo ang Estudyante");

    }

 }

 

 static Main(){



    Guro guro=new Guro();

    //Lahat ng property ng Tao nakuha ng Guro

    guro.Pangalan = "Miss Tapya";

    guro.Edad = 40;

    guro.SSSNo = "123151";

    guro.Takbo();

    

    Estudyante estudyante=new Estudyante();

    //Lahat ng property ng Tao nakuha ng Estudyante

    estudyante.Pangalan = "Juan dela Cruz";

    estudyante.Edad = 15;

    estudyante.GradeSaEnglish = 75;

    guro.Takbo();

 }
 
Aralin mo na para it's your time para buhatin mga magiging ka group mo sa Thesis 😄.
 
Mag focus ka na sa mobile development kasi sa Thesis defense ngayon medyo mababa na rate na ma accept ang desktop based application lalo na kung maraming existing na kapareho.
 
Nice share sir, dagdag ko lang sa polymorphism "many-shaped" dahil na inherit mo sa base class "Tao" ang lahat ng property at method ang "Guro" at "Estudyante" ay isa na ring uri ng "Tao", pwede ka na mag initialize ng isang object depende sa gamit nya.
Kung gusto mo mag initialize ng "Tao" na object na may uri ng isang "Guro"
Tao mathTeacher = new Guro()
Kung gusto mo mag initialize ng "Tao" na object na may uri ng isang "Estudyante"
Tao totoy = new Estudyante()

Sa huli si totoy at mathTeacher ay parehas na tao ngunit mag kaiba ng gamit.
 
Status
Not open for further replies.

Similar threads

Back
Top