What's new

Closed Importance of Object Oriented Programming

Status
Not open for further replies.
Joined
Jun 21, 2020
Posts
124
Reaction
49
Points
66
Bakit importante ang Object Oriented Programming (OOP)? Nung mga panahon ng C, Pascal, Basic kapag gumawa ka ng isang project na malakihan Na-oorganize mo lang ang code mo sa paggamit ng include/header files. Ang malaking problema paulit ulit ang code. At kadalasan di maiwasan na magkaproblema sa kaparehong method o function names. At dahil hindi organize ang codes mahirap malaman kung saan nagkaproblema.


Ilan sa mga benepisyo ang OOP

  • Gawing Modular ang development. Kapag sinabing modular, eto ay ang pag-aayos or pag-organisa ng code. Halimbawa Ang isang Desktop Computer ay modular dahil pwede mong palitan ang component nito ng hindi mo pinapalitan ang ibang component tulad ng VideoCard, Hard Disk, Memory, CPU.

C#:
//Sa Halimbawang eto makikita mo na magkakahiwalay ang object.
class VideoCard{
    public void VideoCardOn(){
        Console.WriteLine("On ang Video Card")
    }  
}  

class HardDisk{
    public void HardDiskOn(){
        Console.WriteLine("On ang Hard Disk")
    }
    public void MayProblema(){}
   
}  

class Memory{
    public void MemoryOn(){
        Console.WriteLine("On ang Memory")
    }
    public void MayProblema(){}
}  

class CPU{
    public void CPUOn(){
        Console.WriteLine("On ang CPU")
    }
}  

class Computer{
    private VideoCard videoCard;
    private HardDisk hardDisk;  
    private Memory memory;      
    private CPU cpu;      
   
    public void ComputerOn(){
        videoCard.VideoCardOn();
        hardDisk.HardDiskOn();
        memory.MemoryOn();
        cpu.CPUOn();
       
        this.IpakitaAngBios();
    }
   
    public void IpakitaAngBios(){
        Console.WriteLine("Ipakita ang Bios");
    }
}

  • Ang paggamit ng Inheritance. Gaya ng ng sabi ko sa isang post ko tungkol sa Principles of Object Oriented Programming, Isa sa pinakamalaking benepisyo ng OOP ang Inheritance or pagmana. Dahil dito hindi mo kailangang ulit-ulitin ang code mo dahil sa pagmana mo ng isang object makukuha mo na yung mga public properties at methods niya. Halimbawa, ang Computer pwede kang gumawa ng ibang Anyo ng Object na Computer
C#:
class Desktop:Computer{
   
}

class Laptop:Computer{
}

class MobilePhone:Computer{

}

static Main(){
    Desktop desktop= new Desktop();
    Laptop laptop=new Laptop();
    MobilePhone mobilephone=new MobilePhone();
   
    desktop.ComputerOn();
    laptop.ComputerOn();
    mobilephone.ComputerOn();  
}


  • At dahil pwede mong manahin ang Object pwede mo rin baguhin ang namana mong properties o methods. Ibig sabihin pwede mong dagdagan ang capability o kakayahan ng Object na mas marami sa Computer Object
C#:
class Desktop:Computer{
    public override void IpakitaAngBios(){
        Console.WriteLine("Ipakita ang Bios ng Desktop");
    }
}

class Laptop:Computer{
    public override void IpakitaAngBios(){
        Console.WriteLine("Ipakita ang Bios ng Laptop");
    }
}

class MobilePhone:Computer{
    public override void IpakitaAngBios(){
        Console.WriteLine("Ipakita ang Bios ng MobilePhone");
    }
}

static Main(){
    Desktop desktop= new Desktop();
    Laptop laptop=new Laptop();
    MobilePhone mobilephone=new MobilePhone();
   
    desktop.ComputerOn();
    laptop.ComputerOn();
    mobilephone.ComputerOn();  
}

  • Madaling Mag-troubleshoot. Dahil modular ang code madali mong makita ang problema
C#:
class VideoCard{
    private bool problemado=false;
   
    public void VideoCardOn(){
        Console.WriteLine("On ang Video Card")
    }
   
    public bool CheckProblema(){
        return problemado;
    }

    public void MayProblema(){
        Console.WriteLine("May problema ang Video Card")
    }
}  

class HardDisk{
    public void HardDiskOn(){
        Console.WriteLine("On ang Hard Disk")
    }

    public bool CheckProblema(){
        return problemado;
    }
   
    public void MayProblema(){
        Console.WriteLine("May problema ang Hard Disk")
    }
   
}  

class Memory{
    public void MemoryOn(){
        Console.WriteLine("On ang Memory")
    }

    public bool CheckProblema(){
        return problemado;
    }
   
    public void MayProblema(){
        Console.WriteLine("May problema ang Memory")
    }
}  

class CPU{
    public void CPUOn(){
        Console.WriteLine("On ang CPU")
    }
   
    public bool CheckProblema(){
        return problemado;
    }
   
    public void MayProblema(){
        Console.WriteLine("May problema ang CPU")
    }
}  

class Computer{
    private VideoCard videoCard;
    private HardDisk hardDisk;  
    private Memory memory;      
    private CPU cpu;      
   
    public void ComputerOn(){
        videoCard.VideoCardOn();
        hardDisk.HardDiskOn();
        memory.MemoryOn();
        cpu.CPUOn();
       
        this.IpakitaAngBios();
       
        if(videoCard.CheckProblema()==true){
            videoCard.MayProblema();
        }
       
        if(hardDisk.CheckProblema()==true){
            hardDisk.MayProblema();
        }
       
        if(memory.CheckProblema()==true){
            memory.MayProblema();
        }      

        if(memory.CheckProblema()==true){
            cpu.MayProblema();
        }  
       
    }
   
    public void IpakitaAngBios(){
        Console.WriteLine("Ipakita ang Bios");
    }
}

Nung nagsisimula pa lang akong magprogram 20 years ago, nahirapan din akong intindihin ang mga concepts na to. Kaya naisipan kong gumawa ng BLOG para makatulong sa mga kababayan kong programmer. Pero kung maiintidihan mo ng maayos, mas mapapadali sayo ang paggawa ng malaking system.
 
Status
Not open for further replies.
Back
Top