C#学习总结(1)——与java的几个区别

  • 现在开学一个半月了,在校期间新学习了C#专业课,感觉C#是开发桌面程序的利器,在学习C#基本语法(判断、循环、类等)时感觉非常容易,因为有学习java的基础,所以这里就不再赘述了。本篇博客就简单阐述下C#与java的一些区别
  • 开发工具 Visual studio 2010 可以从网上直接下,也可以从我的网盘中下载 :链接:http://pan.baidu.com/s/1bziqR0 密码:kwzz
  • 百度搜一个密钥即可使用。

类的封装

Java只有一种,示例代码如下:

//声明
public class Student {
private String name;

public String getName() {
        return name;
}

public void setName(String name) {
        this.name = name;
}
}

//调用

new Student().setName("zwq");//赋值
String name = new Student.getName();//取值

C#有两种,第一种与java相同,第二种的示例代码如下:

//声明
class Student
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
        //注意这里的value是隐藏字,
    }
}

//调用
new Student().Name = "zwq";//赋值
string name = new Student().Name;//取值

另外要多说一点的是C#的第二种封装方式与kotlin中的相同,kotlin是一个比较新的语言,所以也从侧面说明了这种方法确实比java中的要方便。


类的继承

Java中类的继承从代码数量上来说比较少,但是有默认的执行过程,示例代码如下:

//父类
public class Circle {
    public double banjing;

    public double high;

    public Circle() {
        System.out.println("无参构造方法执行....");

    }

    public Circle(double banjing) {

        System.out.println("1参构造方法执行....");
    }

    public Circle(double banjing, double high) {

        System.out.println("2参构造方法执行....");
    }

    public void GetBiaoMianji() {
    }

    public void GetTiJi() {
    }
}

//子类
public class Ball extends Circle{
   private double ball_banjing;
   public Ball(double banjing) {
     this.ball_banjing = banjing;

   }

   @Override
    public void GetBiaoMianji() {
        System.out.println("求表面积方法执行");
        //super.GetBiaoMianji();
        //上一行代码表示执行父类的该方法
    }
   @Override
    public void GetTiJi() {
       System.out.println("求体积方法执行");

    }
}
//执行结果如下:
无参构造方法执行....
求表面积方法执行
求体积方法执行

注意这个地方在生成子类对象的时候,会默认执行父类的无参构造方法


C#类的继承,示例代码如下:

//父类
class Circle
    {
        public double banjing;

        public double high;
        public Circle() {
            Console.WriteLine("无参构造方法执行....");
        }

        public Circle(double banjing) {

            Console.WriteLine("1参构造方法执行....");
        }
        public Circle(double banjing,double high) {

            Console.WriteLine("2参构造方法执行....");
        }
        //virtual关键字表示该方法可以被重写
        public virtual void GetBiaoMianji()
        { 
        }
        public virtual void GetTiJi()
        {
        }

   }

//子类
//: 表继承
class Ball:Circle
    {

        private double ball_banjing;
        //生成子类对象并调用该构造方法时,先对应着调用父类一个参数的构造方法,可以想象成构造方法的继承
        public Ball(double banjing):base(banjing){
            this.ball_banjing = banjing;
        }
        //override表示要重写方法
        public override void GetBiaoMianji()
        {
            Console.WriteLine("求表面积方法执行");
            //base.GetBiaoMianji();
            //上一行代码表示执行父类的该方法
        }
        public override void GetTiJi()
        {
            Console.WriteLine("求体积方法执行");
        }

    }

//执行结果如下:
1参构造方法执行....
求表面积方法执行
求体积方法执行

从代码量上来说,C#多了几个关键字,但究竟哪个好用,现在还说不准。


现在快要学到C#开发桌面程序了,那才是C#的精髓~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值