JavaとC#の比較11
Java講座17章〜18章で比較
Rei17_1(継承1)
 JavaC#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.lang.*; //C#に合わせる為使用。普段は省略

class Rei15_1{
    public static void main(String[] args){
        Programmer tera = new
            Programmer(177, 61, "C#");

        tera.viewProgrammerStatus();
        tera.goEat();
        tera.goProgramming();
    }
}

class Human{
    protected int tall;
    protected int wait;

    public Human(int t, int w){
        tall = t;
        wait = w;
    }

    public void goEat(){
        System.out.println("ご飯を食べるです〜");
    }

    public void viewHumanStatus(){
        System.out.println(
            "身長:" + tall + "\n" +
            "体重:" + wait);
    }
}

class Programmer extends Human{
    private String lang;

    public Programmer(int t, int w, String lang){
        super(t, w);
        this.lang = lang;    
    }

    public void goProgramming(){
        System.out.println("プログラムを作るです");
    }

    public void viewProgrammerStatus(){
        super.viewHumanStatus();
        System.out.println("好きな言語: " + lang);
    }
}
using System;

class Rei17_1{
    static void Main(){
        Programmer tera = new
            Programmer(177, 61, "C#");

        tera.viewProgrammerStatus();
        tera.goEat();
        tera.goProgramming();
    }
}

class Human{
    protected int tall;
    protected int wait;

    public Human(int t, int w){
        tall = t;
        wait = w;
    }

    public void goEat(){
        Console.WriteLine("ご飯を食べるです〜");
    }

    public void viewHumanStatus(){
        Console.WriteLine(
            "身長:" + tall + "\n" +
            "体重:" + wait);
    }
}

class Programmer : Human{
    private string lang;

    public Programmer(int t, int w, string lang)
            : base(t, w){ //長いので2行にしている
        this.lang = lang;
    }

    public void goProgramming(){
        Console.WriteLine("プログラムを作るです");
    }

    public void viewProgrammerStatus(){
        base.viewHumanStatus();
        Console.WriteLine("好きな言語: " + lang);
    }
}

Rei17_2(継承2)
 JavaC#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.lang.*; //C#に合わせる為使用。普段は省略

class Rei17_2{
    public static void main(String[] args){
        Class2 sc = new Class2();
    }
}

class Class1{
    public Class1(){
        System.out.println("Class1");
    }
}

class Class2 extends Class1{
    public Class2(){
        System.out.println("Class2");
    }
}
using System;

class Rei17_2{
    static void Main(){
        Class2 sc = new Class2();
    }
}

class Class1{
    public Class1(){
        Console.WriteLine("Class1");
    }
}

class Class2 : Class1{
    public Class2(){
        Console.WriteLine("Class2");
    }
}

Rei18_1改(オーバーライド)
 JavaC#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.lang.*; //C#に合わせる為使用。普段は省略

class Rei18_1Ex{
    public static void main(String[] args){
        Human mega = new Human();
        Oogui giga = new Oogui();

        System.out.println("メガさんの食事");
        mega.eat();
        System.out.println("ギガさんの食事");
        giga.eat();
    }
}

class Human{
    public void eat(){
        System.out.println("ご飯を食べる");
    }
}

class Oogui extends Human{
    public void eat(){
        super.eat();
        System.out.println("肉類を食べる");
        System.out.println("麺類を食べる");
        System.out.println("ドネルサンドを食べる");
    }
}
using System;

class Rei18_1Ex{
    static void Main(){
        Human mega = new Human();
        Oogui giga = new Oogui();

        Console.WriteLine("メガさんの食事");
        mega.eat();
        Console.WriteLine("ギガさんの食事");
        giga.eat();
    }
}

class Human{
    public virtual void eat(){
        Console.WriteLine("ご飯を食べる");
    }
}

class Oogui : Human{
    public override void eat(){
        base.eat();
        Console.WriteLine("肉類を食べる");
        Console.WriteLine("麺類を食べる");
        Console.WriteLine("ドネルサンドを食べる");
    }
}


TOPに戻る   JavaとC#の比較に戻る