c#,用对象思考:属性和方法 - Angel's Blog.

ing
 
 
软件开发,程序设计,前端设计
 
 
首页 > code > c#,用对象思考:属性和方法

c#,用对象思考:属性和方法

 
通俗地说:对象有“状态和行为”;类,则有“属性方法”。
对象中所拥有的特征,在“类”中称为“属性”。
1、定义类和类的成员:
访问修饰符 class 类名
{
    //类的主体
}
2、添加属性
1)访问修饰符:
(此处访问修饰符不写,默认为private)class Teacher
{
    //此处省略
}
其中,用 private 修饰的私有成员,只能对象自己访问;public是公有成员,没有限制。
2)get 与 set 访问器:
demo2:
	private int age;
        public int Age
        {
            get { return age; }//get 访问器,返回(return)对应私有字段的值
            set // set 访问器,设置对应私有字段的值。
            {
                if (value > 18 && value < 60)
                {
                    age = value;
                }
                else
                {
                    age = 18;
                }
            }
        }
定义一个属性,类型必须和访问的字段类型保持一致,属性可以为“类”或者“数组”。
在这里,快速写c#的属性方法就是利用了“重构-封装字段”(快捷key:Ctrl+R &&Ctrl+E)。
3、类中使用方法
访问修饰符 返回类型 方法名(类型)
{
    //方法
}
方法的返回类型:根据你所需要,是否需要返回值(不需要返回值则返回类型为 void),返回值比方为string , int , double ,bool类型。
方法的参数:
①:值传递:在方法中对参数值修改,在调用方法后不能保留。
②:引用传递:使用的ref传递,可以将参数值修改保留。
方法的重载:
demo3:
    public class Overload
    {
        public int total(int num1, int num2)
        {
            return num1 + num2;
        }
        public int total(int num1, int num2, int num3)
        {
            return num1 + num2 + num3;//相加的三个 int 类型的方法
        }
        public string total(string num1, string num2)
        {
            return num1 + num2;//连接的两个字符类型的方法
        }
        public double total(double num1, double num2)
        {
            return num1 + num2;//相加的两个 double 类型的方法
        }
    }
在demo3 中的重载方式:
参数是不同类型:
②:参数的个数不同:
实例化对象使用方法
例如demo3的类,将demo3的类进行实例化为对象,然后调用方法
            Overload ol = new Overload();
            double sum = ol.total(1.0,2.2);
使用构造函数赋值初始化(Student类举例):
    public class Student
    {
        public Student() { }
        public Student(int age , string name , string hobby)
        {
            this.Age = age;
            this.Hobby = hobby;
            this.Name = name;
        }
        private int age;

        public int Age
        {
            get { return age; }
            set
            {
                if (value > 18 && value < 60)
                {
                    age = value;
                }
                else
                {
                    age = 18;
                }
            }
        }
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string hobby;

        public string Hobby
        {
            get { return hobby; }
            set { hobby = value; }
        }
    }
//创建对象,调用构造函数赋值:
            Student mimi = new Student(18, "mimi", "sing");
            Student xiaoA = new Student(21, "小A", "跳舞");
 其中,类的构造函数名与类名相同,构造函数没有返回值,,一般情况下,构造函数类型为public,在构造函数内部只能做初始化,不要去直接调用构造函数。
或者通过RSS 关注本站的更新 ^ O ^ 。” —  by  转载请注明:来自 Angel's Blog.
本文永久链接: http://www.0ee.com/2010/10/29/c-sharp-code-use-attribute-method.html
 
分类: code标签: , , ,
 
  • QQ书签
  • Del.icio.us
  • 百度收藏
  • Google
  • 饭否
  • FriendFeed
 

 
评论 (12) Trackbacks (0)
发表评论 Trackback
 
12 Comments Contributed by Visitors
  1.     Mucid 2010年11月1日11:06 11#

    @Angel
    大爷,你说C#诞生于MS这个我没意见,你说c++诞生于MS我就要郁闷死了。。

  2.     Angel 2010年11月1日11:17 12#

    @Mucid
    哈哈,,那就算我孤陋寡闻了,我总感觉c# 和c , c++都很相似,尤其是c++,这个不用多说的,嘿嘿。 ok ,感觉c++也不错,,开发游戏最适合不过了。

Leave Comments Here...

:) :-D :( :-o 8-O :-? 8) lol :-x :-P oops cry evil twisted wink ? idea :-| arrow mrgreen roll !

(required)

(required)

网址随您("http://"可以省略)

(Ctrl+Enter)

  • 本站不会泄露您的 Email 地址, 敬请放心.
  • 本站已开启缓存, 请不要重复提交评论.
  • 请注意: 带有 《广告(链)、不健康、或者 产品名字》 的评论一律视为spam.
  • 支持常用 HTML 标签调用, 插入 HTML 标签需注意: < == &lt;> == &gt;.
  • 仅当某人针对您的评论做出回应时, 您才会收到由本站发出的邮件通知.
  • 如您希望以相同方式通知某位网友, 请点击  按钮进行回复.
  • 允许在评论中使用如下代码: 
    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> 
    <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> 
    .
  • 鼠标悬浮到评论中的 @someone 区域即可自动显示 someone 的评论内容.
 
 
  • 正在加载...