☆練習問題
作ってみたら2重括弧と最後の構文でつまづいてた。
個別ならある程度わかってきたけど組み立てるところで「???」ってなてます;;;
function saiten($namae,$kokugo,$sansuu,$rika,$syakai){
//まず合計と平均を求めます
$goukei = ($kokugo+$sansuu+$rika+$syakai);
$heikin = ($goukei / 4);
//平均点をもとに、出来具合を判定します
if ($heikin >= 80){
$hantei = "たいへんよくできました。";
}
elseif ($heikin >= 60 && $heikin < 80){
$hantei = "もう少しがんばりましょう。";
}
elseif ($heikin > 60){
$hantei = "補習を受けてください。";
}
//文系or理系の判定をします
if (($kokugo + $syakai) > ($sansuu + $rika)){
$type = "文系";
}
elseif (($kokugo + $syakai) < ($sansuu + $rika)){
$type = "理系";
}
else{
$type = "文理系";
}
//戻り値(最終的にやりたいこと)を記述します
return print("{$name}さんの判定結果<br>合計点は{$goukei}点です<br>平均点は{$heikin}点です<br>{$hantei}<br>");
}
//「saiten」関数を使用する
saiten("桑山",85,35,50,75);
saiten("一戸",65,95,85,80);
saiten("田中マルクス闘莉王",30,40,25,35);
解説
if ($heikin >= 80){
>=で80以上
($heikin >= 60 && $heikin < 80)
>= 60 && $heikin < 80
>=60以上 &&かつ <80未満
ていうか&&つかった問題やってなかったよなぁ…。
☆クラス
・考え方としては鯛焼きの鋳型と材料と出来上がった鯛焼き。
人
・名前:■■■
・住所:■■■
・性別:■■■
・何系: 文/理
■■■の部分を作っていく。
☆ここで資料の雛形べた打ち~
・関数のことをメソッドという。
・get宣言の最初の文字は大文字。クラス規約で適宜決まる。
・複数の変数を出すときには?
・priveteはこのクラスのみ適用。publicはクラス外でも適用。
function set~の前にもつけられる。verもある。
・$this->nameはクラス内の変数。$nameとは別。
・->をアロー演算子と呼ぶようです。
・クラス宣言のコメントは/**ではじめることが多い。
・$human = new Human();の記述がobject型の宣言。
☆練習問題 住所も実際に出してみよう
雛形にsetとgetを追加するだけだお。
#インスタンス化
$human = new Human();
#名前と住所のセット
$human->setName("いちのへあつし<br>");
$human->setAddress("江ノ島");
#名前と住所を返す
print $human->getName();
print $human->getAddress();
class Human{
#名前の宣言
private $name;
#住所の宣言
private $address;
#名前をセットする
function setName($name){
$this->name = $name;
}
#名前を返す
function getName(){
return $this->name;
}
#住所をセットする
function setAddress($address){
$this->address = $address;
}
#住所を返す
function getAddress(){
return $this->address;
}
}
☆練習問題3 Dogでクラスを定義。
コピペで。
#インスタンス化
$dog = new Dog();
#鳴き声のセット
$dog->setVoice("わんわん<br>");
#鳴き声を返す
print $dog->getVoice();
class Dog{
#鳴き声の宣言
private $voice;
#鳴き声をセットする
function setVoice($voice){
$this->voice = $voice;
}
#鳴き声を返す
function getVoice(){
return $this->voice;
}
}
タイプミス多し……気をつけねば;
☆練習問題 野菜の値段と割引
★と★で関係します。
#インスタンス化
$ninjin = new Yasai();
#価格のセット
$ninjin->setVeg(100);
#価格を返す
print "ninjinの値段:". $ninjin->getVeg();
print "<br>";
#割引を返す
★print "割引価格" .$ninjin->getYasaiwari(0.5);
class Yasai{
#宣言
private $ninjin;
#価格をセットする
function setVeg($veg){
$this->veg = $veg;
}
#価格を返す
function getVeg(){
return $this->veg;
}
#割引を返す
★ function getYasaiwari($yasaiwari){
return $this->veg * $yasaiwari;
※ここで整数を入れないのがポイント
function getWaribikiPrice($waribiki) {
return $this->price * $waribiki;
☆コンストラクタ new Human()の()のこと。
function Human($name, $age) {
$this->name = $name;
$this->age = $age;
}
☆練習問題 鳴き声や名前、犬種
#インスタンス化
$dog = new Dog("わんわん<br>","モモ<br>","ビーグル<br>");
#鳴き声のセット
//$dog->setVoice("わんわん<br>");
#鳴き声を返す
print "鳴き声:". $dog->getVoice() ;
print "名前:". $dog->getDogname() ;
print "種類:". $dog->getDogtype() ;
class Dog{
#鳴き声の宣言
private $voice;
private $dogname;
private $dogtype;
//コンストラクタ
function Dog($voice, $dogname, $dogtype) {
$this->voice = $voice;
$this->dogname = $dogname;
$this->dogtype = $dogtype;
}
#鳴き声をセットする
function setVoice($voice){
$this->voice = $voice;
}
#鳴き声を返す
function getVoice(){
return $this->voice;
}
#名前をセットする
function setDogname($dogname){
$this->dogname = $dogname;
}
#名前を返す
function getDogname(){
return $this->dogname;
}
#種類をセットする
function setDogtype($dogtype){
$this->dogtype = $dogtype;
}
#種類を返す
function getDogtype(){
return $this->dogtype;
}
}
0 件のコメント:
コメントを投稿