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

    谢谢观看!

  • 相关阅读:
    微信小程序解析xml
    微信小程序获取openid
    PHPExcel-1.8导出
    期末复习--实用回归分析
    一元线性回归
    链表
    WSL 配置oh-my-zsh
    Introduction to Computer Science and Programming in Python chap2
    树莓派的一些记录
    Top
  • 原文地址:https://www.cnblogs.com/edcoder/p/11973579.html
Copyright © 2011-2022 走看看