Ist es Wert, dass get-und set-Methoden in der OOP?

Ich habe gesehen, einige Projekte, in denen Klassen mit get-und set-Methoden zum Bearbeiten Daten einfügen. Lassen Sie mich ein Beispiel hier :

    class Student extends dbClass
{
    private $TableID;
    private $FullName;
    private $Gender;
    private $Address;




    function setTableID($Value)
    {
        $this->TableID = $Value;
    }

    function getTableID()
    {
        return $this->TableID;
    }

    function setFullName($Value)
    {
        $this->FullName = $Value;
    }

    function getFullName()
    {
        return $this->FullName;
    }

    function setGender($Value)
    {
        $this->Gender = $Value;
    }

    function getGender()
    {
        return $this->Gender;
    }

    function setAddress($Value)
    {
        $this->Address = $Value;
    }

    function getAddress()
    {
        return $this->Address;
    }


    function UpdateStudent()
    {
        $sql = "UPDATE INTO usertable SET
        FullName = '".$this->getFullName()."',
        Gender = '".$this->getGender()."',
        Address = '".$this->getAddress()."'
        where TableID='".$this->getTableID()."'";
        $this->query($sql);
    }
}

Oben ist die Beispiel-Klasse, die ich gesehen habe. Und unten ist der Prozess, wie Sie es nutzen :

$student = new Student;
$student->setTableID = 1;
$student->setFullName('My Name');
$student->setGender('Male');
$student->setAddress('this is my address');

$studen->UpdateStudent();

Ist es Wert, auf diese Weise? Ich persönlich denke, seine nutzlos zu-Satz-Feld und dann abrufen und aktualisieren von Datensätzen. Es dauert wirklich eine Menge Zeit, um es für jedes Modul. Was ist der beste Weg zu handhaben solchen Sache?
Gibt es irgendeine Sicherheit besorgt, es zu tun auf diese Weise?

Access-Modifier (wie private) werden oft falsch interpretiert, als Sicherheits-feature. In Ihrem aktuellen C++ - Inkarnation waren Sie eigentlich vorgesehen ist zum begrenzen der ABI (nicht-API) Exposition; was nicht relevanten PHP-und Script-Sprachen wirklich. Erfordern setter und Getter, ist damit oft auch ein Nebeneffekt, aber es ist nicht sehr objektorientiert. Siehe auch PHP Getter und setter: übel oder notwendiges übel? und Java: Getter und setter sind böse
möglich, Duplikat der Ist es wirklich so falsch nicht mit setter und Getter?

InformationsquelleAutor Salman Khimani | 2012-05-16

Schreibe einen Kommentar