- 现在开学一个半月了,在校期间新学习了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#的精髓~