Php&&Python&&C++圆类的实现(OOP)

哎......被投诉了

Php&&Python&&C++圆类的实现(OOP)_第1张图片

其实也不是小编不更,这不是期末了吗(zhaojiekou~~),而且最近学的信息收集和ctf感觉好像没找到啥能更的(不过最经还是在考虑更一下CTF的密码学的)然后就被催更了  @_# 蒽

          Php&&Python&&C++圆类的实现(OOP)_第2张图片                                              Php&&Python&&C++圆类的实现(OOP)_第3张图片

但是天还是无绝人之路的,他丢了一道面向对象的题目给我,好家伙还要用c艹来写

好险网安还是教了php和python的,那就来这两个版本都来试一下吧

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        Php&&Python&&C++圆类的实现(OOP)_第4张图片

题目:

先是Python_Version:

import math
pi = math.pi
class circle():
    def __init__(self,r,x,y):
        self.r=r
        self.x=x
        self.y=y

    def __del__(self):
        print("This object is gonna destruct")

    def circuference(self):
        print("circuference = ",2*pi*self.r)

    def area(self):
        print("area = ",pi*(self.r)**2)

outprint=circle(4,0,0)
outprint.circuference()
outprint.area()
del outprint

以下就来逐行讲解吧:

1.构造函数,用来初始化对象的属性,这里是将传入的r赋给类中的属性

 def __init__(self,r,x,y):
        self.r=r
        self.x=x
        self.y=y

2.析构函数,用于在对象被销毁时执行一些清理工作

def __del__(self):
        print("This object is gonna destruct")

3.然后就是写输出周长和面积的两个函数

def circuference(self):
        print("circuference = ",2*pi*self.r)

    def area(self):
        print("area = ",pi*(self.r)**2)

(当然了,这里也可以写成return的形式,然后print,这里我就偷个懒啦,嘻嘻)

4.最后就是创建对象,调用,销毁了

outprint=circle(4,0,0)
outprint.circuference()
outprint.area()
del outprint

(这里我取得半径是4,当然你们可以任意取)

这样就完成了一个圆类得目标,以下是输出:

Php&&Python&&C++圆类的实现(OOP)_第5张图片

接下来就是PHP_Version啦

r=$r;
        $this->x=$x;
        $this->y=$y;
    } 

    function __destruct(){
        echo "
"; echo "this object is gonna destruct"; } function circumference(){ echo "circumference = "; print 2*pi()*$this->r; } function area(){ echo "area = "; print (pi()*($this->r)**2); } } $outprint=new circle(4,0,0); $outprint->circumference(); echo "
"; $outprint->area(); unset($outprint); ?>

开始之前不得不感叹一下还是python好用,简单又简洁

1.先是构造,和析构函数了,和上面的python类似 (记得echo “
”哦,php可不会自动换行)

 public $r,$x,$y;
    function __construct(int $r,int $x,int $y){
        $this->r=$r;
        $this->x=$x;
        $this->y=$y;
    } 

    function __destruct(){
        echo "
"; echo "this object is gonna destruct"; }

2.然后就是写周长和面积得的计算了

function circumference(){
        echo  "circumference = ";
        print 2*pi()*$this->r;
    } 

    function area(){
        echo "area = ";
        print (pi()*($this->r)**2);
    }
}

这里的pi是有()的哦,而且属性的调用php是$this->   而python是self.    这个可不要记混!!

3.然后就是创建,调用,销毁,和上面一样:

$outprint=new circle(4,0,0);
$outprint->circumference();
echo "
"; $outprint->area(); unset($outprint);

这样就完成了php的圆类实现了

Php&&Python&&C++圆类的实现(OOP)_第6张图片

以上就是两种编程语言对圆类的实现,当然了我的朋友是用c艹写的 (她写的太强啦,我看不懂wuuwu~~~)

#include 
using namespace std;
class Circle
{
private:
    int r;
    int x;
    int y;
    float c;
    float s;

public:
    Circle(int a, int b, int c) : r(a), x(b), y(c) {}
    ~Circle() { cout << "析构函数的调用" << endl; }
    void Getc()
    {
        c = 3.14 * r * 2;
    }
    void Gets()
    {
        s = 3.14 * r * r;
    }
    void show()
    {
        cout << "周长:" << c << endl
             << "面积:" << s << endl;
    }
};
int main()
{
    Circle c1(1, 0, 0);
    c1.Getc();
    c1.Gets();
    c1.show();
    system("pause");
    return 0;
}

等到寒假时候学了c艹应该就能看懂了(笑死寒假想摆烂)以上就是对圆类的三种语言的实现啦

最近在学CTF那么下一篇就来更CTF的Crypto吧   ~~!!!~~~

        ​​​​​​​        ​​​​​​​        Php&&Python&&C++圆类的实现(OOP)_第7张图片

你可能感兴趣的:(php,python,开发语言)