pythonでの関数の呼び出し
def some_function(something): print(something) some_function("hello world")
Classにした場合
L インスタンスを生成して処理を実行する
L クラスの中の関数をメソッドと呼ぶ
class SomeClass: def __init__(self, something): self.something = something def some_function(self): print(self.something) c = SomeClass("hello world") c.some_function()
class SomeClass: def __init__(self, something): self.something = something def some_function(self): print(self.something) def some_function2(self): return self.something c = SomeClass("hello world") c.some_function() print(c.some_function2())
selfはインスタンス自身のこと
initはデータの初期化の関数
class MyStatus: def __init__(self, age, name, height, weight): self.age = age self.name = name self.height = height self.weight = weight def print_name(self): print(self.name) def print_age(self): print(self.age) def print_height(self): print(self.height) def print_weight(self): print(self.weight) a = MyStatus(14, "yamada", 160, 55) a.print_height()
コーヒーメーカーのClassを作ってみる
class CoffeeMaker: def __init__(self, water, brand, tempreture): self.water = water # mill self.brand = brand self.tempreture = tempreture def boiling(self): boilingTime = self.water / 10 * self.tempreture print(boilingTime) def brew(self): print(self.brand + "を滴れました") a = CoffeeMaker(300, "brend", 3) a.boiling() a.brew()
$ python3 test.py
90.0
brendを滴れました
なるほど、Classと関数とinitの使い方について、自分で例を作ると構造を理解できますね。
phpの場合はinitのところが__contructになります。引数はconstructで定義しています。
class Dog {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName(){
echo $this->name;
}
}
$dog = new Dog(“Pochi”);
$dog->getName();
[/code]
ini_set('display_errors', "On"); class CoffeeShop { private $order; private $pay; public function __construct($order, $pay) { $this->order = $order; $this->pay = $pay; } public function coffeePrice(){ switch ($this->order) { case "ブレンド": echo "price is 330 yen\n"; $price = 330; break; case "アメリカン": echo "price is 350 yen\n"; $price = 350; break; case "アイスコーヒー": echo "price is 380 yen\n"; $price = 380; break; default: echo "not available at this store"; } $change = $this->pay - $price; return $change; } } $a = new CoffeeShop("ブレンド", 1000); $b = $a->coffeePrice(); echo $b;