質問するログイン新規登録

回答編集履歴

1

補足追加

2017/09/26 14:50

投稿

fagai
fagai

スコア2158

answer CHANGED
@@ -19,4 +19,57 @@
19
19
  $userModel->count
20
20
  ```
21
21
 
22
- で取得はできると思います。
22
+ で取得はできると思います。
23
+
24
+ もうちょっと補足しておくと、
25
+
26
+ ```php
27
+ class Sample
28
+ {
29
+ public $a = 1;
30
+ protected $b = 2;
31
+ private $c = 3;
32
+
33
+ public function change()
34
+ {
35
+ $this->a = 11;
36
+ }
37
+
38
+ public function getB()
39
+ {
40
+ return $this->b;
41
+ }
42
+
43
+ public function getC()
44
+ {
45
+ return $this->c;
46
+ }
47
+ }
48
+
49
+ class Sample2 extends Sample
50
+ {
51
+ public function getB()
52
+ {
53
+ return $this->b;
54
+ }
55
+
56
+ public function getC()
57
+ {
58
+ return $this->c;
59
+ }
60
+ }
61
+
62
+ $sample = new Sample();
63
+ echo $sample->a // 1が出力される
64
+ $sample->change();
65
+ echo $sample->a // 11が出力される
66
+
67
+ echo $sample->b // $bのアクセス修飾子はprotectedなのでアクセスできない
68
+ echo $sample->getB(); // 2 クラス内ではbを見ることが出来るので、それを返すので値が取れる
69
+ echo $sample->c // 基本的に$bと一緒です。
70
+ echo $sample->getC(); // 3
71
+
72
+ $sample2 = new Sample2();
73
+ echo $sample2->getB(); // 2
74
+ echo $sample2->getC(); // privateは継承先からは見れませんのでエラーになります。
75
+ ```