অবজেক্ট অরিয়েন্টেড পিএইচপি-->OOPHP-৮

OOPHP-৮:: কোড পূন:ব্যবহার।অংশ-৩

নিচের কোডে দেখুন আমরা employee অবজেক্টে get_name() মেথড ব্যবহার করতে পারি people ক্লাসের সৌজন্যে।এটা একটা পুরোনো পদ্ধতির উদাহরন যেভাবে কোড কম লেখা হয় (একই ফাংশন/মেথড দুবার লেখা হয়না)
01.<title>OOPHP in Webcoachbd</title>
02.<?php include("class_lib.php"); ?>
03.</head>
04.<body>
05.<?php
06.// Using our PHP objects in our PHP pages.
07.$rejoan = new people("Rejoanul Alam");
08.echo "Rejoan's full name: " . $rejoan->get_name();
09.$riad = new employee("Anjirul Alam");
10.echo "Riad’s full name " . $riad->get_name();
11.?>
12.</body>
13.</html>

ধাপ-২১:

মেথড Overridding

মাঝে মাঝে (যখন ইনহেরিটেন্স ব্যবহার করা হয়) একটা মেথড বেস ক্লাস থেকে কিভাবে কাজ করবে এটা  পরিবর্তন করার প্রয়োজন হতে পারে।
উদাহরনস্বরুপ ধরুন set_name() মেথডটি people ক্লাসে যা করেছে তা থেকে ভিন্ন কিছু employee ক্লাসে করতে হবে।
আপনি কিন্তু people ক্লাসের set_name() মেথড Override করেছেন employee ক্লাসে এই একই মেথডটি ঘোষনা করে।
01.<?php
02.class people {
03.// explicitly adding class properties are
04.optional - but is good practice
05.var $name;
06.function __construct($people_name) {
07.$this->name = $people_name;
08.}
09.public function get_name() {
10.return $this->name;
11.}
12.//protected methods and properties
13.restrict access to those elements.
14.protected function set_name($new_name) {
15.if (name != "Jimmy Two Guns") {
16.$this->name = strtoupper($new_name);
17.}
18.}
19.}
20.// 'extends' এই কিওয়ার্ডটি ইনহেরিটেন্স বৈশিষ্ট্য কে সচল করে।
21.class employee extends people {
22.protected function set_name($new_name) {
23.if ($new_name == "Stefan Sucks") {
24.$this->name = $new_name;
25.}
26.}
27.function __construct($employee_name) {
28.$this->set_name($employee_name);
29.}
30.}
31.?>

লক্ষ্য করুন set_name() মেথডটি people ক্লাসে (বেস ক্লাস) কিভাবে ছিল আর কিভাবে ভিন্নভাবে employee ক্লাসে বসানো হল।

কোন মন্তব্য নেই

Blogger দ্বারা পরিচালিত.