`
rorely
  • 浏览: 119806 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C# 类属性的访问器,get与set传统做法,同java

阅读更多
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace useClass
{
    
/// <summary>
    /// define Genders ,type is enum
    /// </summary>
    public enum Genders { 
        Female
=0,
        Male
=1
    }
    
public class Person {
       
private  string name;
       
private int age;
       
private Genders gender;
        
/// <summary>
        /// default class constructor without any parameters
        /// </summary>
       public Person() { }
        
/// <summary>
        /// class constructor with all fields
        /// </summary>
        /// <param name="name"></param>
        /// <param name="age"></param>
        /// <param name="gender"></param>
       public Person(string name, int age, Genders gender) {
           
this.name = name;
           
this.age = age;
           
this.gender = gender;
       }
        
/// <summary>
        /// getters
        /// </summary>
        /// <returns></returns>
       public string getName() {
           
return this.name;
       }
       
public int getAge() {
           
return this.age;
       }
       
public Genders getGender() {
           
return this.gender;
       }
        
/// <summary>
        /// setters
        /// </summary>
        /// <param name="name"></param>
       public void setName(string name) {
           
this.name = name;
       }
       
public void setAge(int age) {
           
this.age = age;
       }
       
public void setGender(Genders gender) {
           
this.gender = gender;
       }
    }
    
class Program
    {
        
static void Main(string[] args)
        {
            Person aPerson 
= new Person();
            aPerson.setName(
"rorely");
            aPerson.setAge(
19);
            aPerson.setGender(
0);
            System.Console.WriteLine(
"{0},{1},{2}",aPerson.getName(),aPerson.getAge(),aPerson.getGender());

            Person bPerson 
= new Person("Rose",23,Genders.Female);
            System.Console.WriteLine(
"{0},{1},{2}", bPerson.getName(), bPerson.getAge(), bPerson.getGender());

            System.Console.ReadLine();
        }
    }
}

结果:
rorely,19,Female
Rose,23,Female
分享到:
评论

相关推荐

    java and c# java and c#

    - **属性**:Java中,属性的访问通常需要通过`get`和`set`方法,而在C#中,属性更像是直接的数据成员,定义时必须同时包含`get`和`set`,访问时使用点操作符,更加直观。 - **对象索引**:C#允许对象具有索引器,...

    JAVA经典继承与父类调用 geter、seter访问器 构造器

    4. **访问器(getter和setter)**:在Java中,访问器(getter)用于获取类的私有成员变量的值,而设置器(setter)用于设置这些变量的值。这样做是为了实现封装,保护数据不被外部直接访问。例如,对于一个名为`age`...

    C#与Java的区别

    而在C#中,属性是一个完整的特性,定义时必须包含get和set,使用`.`号直接访问,更加简洁。 2. **对象索引(Object Indexing)**: C#支持对象索引器,类似于数组访问,如`public Story this[int index]`,在Java...

    C#编程规则与技巧

    例如,可以通过属性来实现只读或只写的字段,也可以在属性的get和set访问器中加入逻辑判断,确保数据的有效性和一致性。 总结来说,C#编程规则与技巧涵盖了泛型编程的概念、实现机制、特点以及基本使用方法,还包括...

    java与C#的区别.pdf

    - C#的属性要求get和set访问器一起定义,而Java则使用getter和setter方法。C#中可以通过`.`直接访问,Java则需调用方法。 4. **对象索引**: - C#支持索引器,允许通过索引访问对象,类似于数组。 5. **访问修饰...

    c#与java的区别.pdf

    而在C#中,属性是真正的内置特性,get和set方法必须一起定义,访问时使用点号"."。 2. **对象索引**: - C#支持对象索引,类似对象数组,可以通过int索引访问。 3. **访问修饰符的默认值**: - 当在C#中不指定...

    C#与Java的比较(一).doc

    需要注意的是,与Java和C++不同,C#要求属性的`get`和`set`方法必须同时存在。 ##### 3.2 对象索引机制(Indexer) 对象索引机制是C#中的另一个独特特性,它允许类的行为像数组一样。通过索引来访问类的成员,使得...

    java与C#的区别.docx

    1. **对象索引**:在 Java 中,可以通过 `get` 和 `set` 方法访问集合或数组中的对象,而在 C# 中,通过索引器(`this[int index]`)可以直接像数组一样访问类的实例。 2. **程序入口点**:Java 程序的入口点是 `...

    C#和JAVA的区别介绍.pdf

    - 在Java中,属性的访问通常通过getter和setter方法实现,可以只定义一个,但在C#中,属性是内置的,必须同时定义get和set,访问时直接使用`.`号。 2. **对象索引**: - C#支持对象索引,如`public Story this...

    C#与JAVA比较[文].pdf

    1. **属性(Property)**:C#的属性语法更加简洁,提供了get和set访问器,使得属性的读写更加直观。JAVA中通常需要定义getter和setter方法。 2. **索引器(Indexer)**:C#支持索引器,允许像操作数组一样处理对象...

    C#与JAVA比较.pdf

    C#的属性操作如`foo.size++`和`label.font.bold=true`在Java中可能需要更复杂的语句,如`foo.setSize(foo.getSize()+1)`和`label.getFont().setBold(true)`。 C#的索引器(Indexers)允许开发者像处理数组一样处理...

    30个c#小程序

    11. **自动属性和属性访问器**:自动属性简化了属性的声明,而属性访问器(get和set)提供了对类成员的控制访问。 12. **匿名类型**:在不需要为数据创建新的命名类型时,可以使用匿名类型快速创建实例。 13. **...

    CSharp for Java Developers - Cheat Sheet.pdf_C#_源码

    C#中的属性可以有get和set访问器,用于控制读写操作。 - **构造函数**:C#允许在派生类中调用基类的构造函数,通过`base()`关键字。 3. **泛型** - **泛型类与方法**:C#的泛型与Java的泛型相似,用于创建类型...

    Professional C#, 3rd Edition_AppC_C# for Java Developers.pdf

    本书《Professional C#, 3rd Edition》中的附录C针对的是C#与Java开发者的对比,旨在帮助Java开发者快速过渡到C#。尽管C#与Java在语法上有着极高的相似性,但两者之间仍存在着微妙却重要的差异。本章节将深入探讨...

    c#练习题 学习csharp

    * 属性可以有get和set方法。 七、方法重载 * 方法重载是指多个方法具有相同的方法名,但参数列表不同。 * 方法重载的主要方式有两种:参数个数不同的重载和参数类型不同的重载。 八、文件操作 * 在C#中,可以...

    Java及C#命名规则.docx

    C#中,访问器(accessors)和修改器(mutators)通常被声明为属性(properties),而不是独立的方法。 4. 窗体名(类名):在C#的Windows Forms应用中,窗体类通常以"Form"后缀,如"MyForm",但并不强制要求以特定...

    C#语言课程资源

    属性通常由一对访问器(get和set)组成,get用于获取值,set用于设置值: ```csharp public string Color { get { return this.color; } // 获取颜色 set { this.color = value; } // 设置颜色 } ``` 在这个例子...

    c#与Java面向对象练习经典题.pdf

    3. **封装**:居民、成人和官员类展示了封装的概念,通过属性(属性在C#中是get和set方法的组合,在Java中是getter和setter方法)来控制数据的访问,确保数据的安全性。 4. **静态类和方法**:静态类不能实例化,...

    Set用法及与List的区别

    `HashSet`是Java中最常用的Set实现类,它基于哈希表(HashMap)实现,提供了快速的插入、删除和查找操作。以下是一些基本的HashSet用法: 1. **创建HashSet**:你可以通过无参构造函数或传入初始集合来创建HashSet...

Global site tag (gtag.js) - Google Analytics