zoukankan      html  css  js  c++  java
  • 【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的语法更为简洁。

    谢谢观看!

  • 相关阅读:
    PythonStudy——数据类型总结 Data type summary
    PythonStudy——可变与不可变 Variable and immutable
    PythonStudy——列表操作 List operatio
    PythonStudy——列表的常用操作 List of common operations
    PythonStudy——列表类型 List type
    PythonStudy——字符串扩展方法 String extension method
    PythonStudy——字符串重要方法 String important method
    AWT,Swing,RCP 开发
    JQuery插件机制
    最新知识网站
  • 原文地址:https://www.cnblogs.com/edcoder/p/11973579.html
Copyright © 2011-2022 走看看