java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的。
为了更好地学习java或C#,有必要分清它们两者到底在哪里不同。
我们这次要来探讨对象的Getter and Setter
java中的实现:
package HelloWorld; public class HelloWorld { public static void main(String[] args) { Student stu=new Student(); stu.set_name("李四"); System.out.println(stu.get_name()); } } class Student{ private String _name; public String get_name() { return _name; } public void set_name(String _name) { this._name = _name; } }
C#中的实现(在C#中set和get方法叫做属性):
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Student stu = new Student(); stu.Name = "李四"; Console.WriteLine(stu.Name); Console.ReadKey(); } } class Student { private string _name; private int age; public string Name { get { return _name; } set { _name = value; } } } }
C#还可使用匿名属性(如果的单纯的读写,c#可以直接写成匿名属性),等价于:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Student stu = new Student(); stu.Name = "李四"; Console.WriteLine(stu.Name); Console.ReadKey(); } } class Student { //private string _name; public string Name { get;set; } } }
分析和总结:
1、在属性的过滤上,不管是java还是c#都可以在set和get的方法里面对操作进行过滤。
2、如果只是单纯做读和写,C#的匿名属性比java的语法更为简洁。
谢谢观看!