【02】对象的Getter and Setter

java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的。

为了更好地学习java或C#,有必要分清它们两者到底在哪里不同。

我们这次要来探讨对象的Getter and Setter

 

java中的实现:

 1 package HelloWorld;
 2 
 3 public class HelloWorld {
 4     public static void main(String[] args) {
 5         Student stu=new Student();
 6         stu.set_name("李四");
 7         System.out.println(stu.get_name());
 8     }
 9 
10 }
11 class Student{
12 
13     private String _name;
14     public String get_name() {
15         return _name;
16     }
17 
18     public void set_name(String _name) {
19         this._name = _name;
20     }
21 
22 }

 

C#中的实现(在C#中set和get方法叫做属性):

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApp1
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Student stu = new Student();
14             stu.Name = "李四";
15             Console.WriteLine(stu.Name);
16             Console.ReadKey();
17         }
18     }
19 
20     class Student
21     {
22         private string _name;
23         private int age;
24 
25         public string Name
26         {
27             get
28             {
29                 return _name;
30             }
31 
32             set
33             {
34                 _name = value;
35             }
36         }
37     }
38 }

 

C#还可使用匿名属性(如果的单纯的读写,c#可以直接写成匿名属性),等价于:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApp1
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Student stu = new Student();
14             stu.Name = "李四";
15             Console.WriteLine(stu.Name);
16             Console.ReadKey();
17         }
18     }
19 
20     class Student
21     {
22         //private string _name;
23         public string Name
24         {
25             get;set;
26         }
27     }
28 }

 

分析和总结:

1、在属性的过滤上,不管是java还是c#都可以在set和get的方法里面对操作进行过滤。

2、如果只是单纯做读和写,C#的匿名属性比java的语法更为简洁。

 

谢谢观看!

posted @ 2019-12-02 22:01  the_path_of_grace  阅读(229)  评论(0编辑  收藏  举报