• 【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的语法更为简洁。

    谢谢观看!

  • 相关阅读:
    如何将你的AIR程序正常显示在iPhone5上?
    升级Flash Builder 4.7中的AIR SDK
    Flex AIR加载时全屏显示
    在Mac系统的安装Flash Builder 4.7开发工具
    What's XPath?
    XPath节点
    What's XML?
    65个源码下载网站
    [导入]轻松掌握Ajax.net系列教程
    MemberShip 示例
  • 原文地址:https://www.cnblogs.com/edcoder/p/11973579.html
Copyright © 2020-2023  润新知