| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4031 人关注过本帖, 2 人收藏
标题:请教老师大侠:C#的 “类”、“对象”、“方法” 对应 “控件”、“属性”、 ...
只看楼主 加入收藏
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
结帖率:91.67%
收藏(2)
已结贴  问题点数:20 回复次数:49 
请教老师大侠:C#的 “类”、“对象”、“方法” 对应 “控件”、“属性”、“事件”?
我刚刚学习C#,请教 老师大侠:

.net c# 在visual studio 建windows 窗体应用程序,visual studio 的左边是 “工具 - 控件”,右边是 “属性”和“事件”。

C#中的关键概念是 “类”、“对象”、“方法”,请教老师:

 “类”、“对象”、“方法” 如何对应 visual studio的 “控件”、“属性”、“事件”?

搞清这些概念真难啊。

先拜谢老师了!!!!
搜索更多相关主题的帖子: windows 应用程序 visual 
2011-12-25 12:24
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
学习方法有问题。
先把类与对象之间的问题搞清楚再说吧。所有的面象对象编程都会设计到这两个概念。
方法:如果你连函数是什么都不理解,类成员函数是什么意思你怎么会搞明白?
属性分只读属性,只写属性和读写属性。如果你连变量都不理解,你怎么理解类成员变量,和它们的Getter,Setter?
不访写一些C#的类和定义成员变量的属性,然后用类对象实例来.一下。看看方法(method)是用什么图标表示的,属性是用什么图标表示的。

我们都在路上。。。。。
2011-12-25 14:53
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
以下是引用hellovfp在2011-12-25 14:53:22的发言:

学习方法有问题。
先把类与对象之间的问题搞清楚再说吧。所有的面象对象编程都会设计到这两个概念。
方法:如果你连函数是什么都不理解,类成员函数是什么意思你怎么会搞明白?
属性分只读属性,只写属性和读写属性。如果你连变量都不理解,你怎么理解类成员变量,和它们的Getter,Setter?
不访写一些C#的类和定义成员变量的属性,然后用类对象实例来.一下。看看方法(method)是用什么图标表示的,属性是用什么图标表示的。
感谢 hellovfp老师 的指导!!!

我确实还没有搞明白。通过c#的windows窗体应用程序 来学习 “类”、 “对象”、 “方法”, 应该可以吧?

教材上说,“类”相当于 “表”中的“记录”,“对象”(也可以理解为“属性”)相当于“表”中的字段。

如果visual studio里,工具箱中的控件是“类”,那么“控件”的“属性”就是“对象”, 而“事件”就是“控件”的“方法”?

您能 指导我 “方法(method)是用什么图标表示的,属性是用什么图标表示的”吗?
多谢您了!!!
2011-12-25 15:16
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:8 
通过c#的windows窗体应用程序来学习类,对象,方法,可以。不过眼见为实并不能替代你的抽象思维。
如果偶告诉你这样一个事实,所有的可见控件,如按钮(Button),列表框(listBox),编辑框(Edit),都是窗口(window)。你怎么想,怎么理解这个事实?

类是描述一组相似对象共有特征的抽象。通俗的讲就是物以类聚。打个比方,猪圈里有一堆的小猪,我们给它们每一个取了一个的名字,小花,小白,小黑,小xxx。。。。小花有四两重,小白有一斤重,小黑有二斤重。那么问题来了,小花,小白,小黑它们共有的特征是什么呢?OK,我们的回答是它们都是小猪!为什么你不说它们是小狼?小熊?用IS-A的观念来看,小花是小猪,小白是小猪,小黑也是小猪,符合小花是((IS)(-A))一个小猪,这一IS-A说法。反过来就是错的,我们不能说小猪是小花。所以本例中小猪就是类,而小花,小白,小黑是类的什么呢?是对象,类的对象,或称类的实例,它们具有类的共同特征,肥肥的有四条腿的动物-猪。换句更形象点的说法,类就象糕点厂里的糕点模具,从模具中印出来的月饼外观都是一模一样的,当然它们的心子料可能不同。但每个小猪有我们按它们的肤色、班点给它取的不同的名字,它们的重量也各不相同。那么小猪可以干嘛呢?我们简单的说,可以吃,可以睡,所以可以干嘛是个动作,通常就是指类的方法。

记住观点:用类来表示概念。找出事物的共性和不同性,不同性是建立在已有的共性上的,共性往往是类(接口或是抽象类)。

所以用C#的类来写这个实例就是:
class LittlePig //小猪类
{
    private double height;  //重量
    private string name; //名字
    public LittlePig(string name, double height)//构造方法
    {
        this.name = name;
        this.height = height;
    }

    public double Height //height的属性
    {
        get { return height; }
        set { this.height = value; }
    }
    public void eat()    //吃方法
    {
        Console.WriteLine("{0} is eatting. ", name);
    }
    public void sleep()  //睡方法
    {
        Console.WriteLine("{0} is sleepping.", name);
     }
}

class Test
{
    static void Main()
    {
        //创建类的对象(或称实例化)
        LittlePig xiaohua = new LittlePig("小花", 0.4);
        LittlePig xiaobai = new LittlePig("小白", 1.0);
        LittlePig xiaohei = new LittlePig("小黑", 2.0);

        xiaohua.eat();//调用方法,注意体会打点时你会看到一个下拉列表,上面就有我们写的两个方法。注意看方法左边的小图标。同时下拉列表中你也可以看到我们刚定义的Height属性,注意看左边的小图标。
    }
}

类里的成员变量 height, name,就是属性,不用怀疑,C#的中的属性概念,是指类成员变量的Getter(读方法)和Setter(写方法)组成的一个集合,目的就是提供类私有变量的读写控制,所以成员变量称之为类属性,具有更广泛的意义,或称广义上的属性。

不知道偶的解释够不够清晰?如果你能理解上面所述,再去理解事件(Event)是什么,委托(Delegate)是什么?慢慢来,罗马不是一天就建成的。

[ 本帖最后由 hellovfp 于 2011-12-26 12:45 编辑 ]

我们都在路上。。。。。
2011-12-26 12:36
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
教材上说,“类”相当于 “表”中的“记录”,“对象”(也可以理解为“属性”)相当于“表”中的字段。

偶认为你的教材上说得不明不白,站在不同的观点上看表,表本身就是一个概念,可以用Class Table来表示。由行和列数据组成的一个二维数组。例如表user
[user_id][user_name][user_pass] //id号,用户名,密码 --这个就是字段
--------------------------
    1   | learnerok |  123        //这一行数据可称之为表user的行数据对象
    2   |  hellovfp |  456        //这一行数据也称之为表user的行数据对象

如果还有一个表score表示学分,那么表user和表score就是表的两个对象,因为user表和score表都是表,每个表都由行数据和列数据组成。

如果visual studio里,工具箱中的控件是“类”,那么“控件”的“属性”就是“对象”, 而“事件”就是“控件”的“方法”?

控件本身就是用类写出来的,所以是类,窗口本身也是类,只是我们看到C#里的窗体是是窗口类的一个实例对象,拖放到窗体中的Button也是对象,Button1不等于Button2。事件是发生了什么事情,通常是操作系统通知你的,也就是说这个方法通常由操作系统来调用,用C语言的观点来看,就是回调函数,告诉你发生了什么事情,比如说在窗体上点了一下鼠标,操作系统会告诉你的窗体对象发生了一个鼠标事件,并告诉你发事件时的鼠标位置和鼠标状态,怎么处理就是你在这个事件方法里写代码,当然,你也可以不处理。但是看你的发帖,估计连C语言都没有学好,所以理解事件会产生问题。

我们都在路上。。。。。
2011-12-26 13:12
larizhao
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-24
收藏
得分:0 
我也没学好,借此机会学习一下。看完后脑子里有点概念,
可还是不清楚。不知道怎么用。是不是多看几遍就能理解。
还是要实际应用才行?
2011-12-26 14:56
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
这个。。。。额。。。。。。。。 个人推荐 先看一下面向对象程序设计
这本书 毕竟每个人理解的方向不同

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2011-12-26 15:01
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
以下是引用larizhao在2011-12-26 14:56:44的发言:

我也没学好,借此机会学习一下。看完后脑子里有点概念,
可还是不清楚。不知道怎么用。是不是多看几遍就能理解。
还是要实际应用才行?


可以分析你身边的事物,找出他们的共性,
如,铅笔,钢笔,毛笔,电子手写笔。它们的共性是什么?
中国象棋,国际象棋,军棋,它们的共性是什么?

不过这只是面向对象的开始,类还有类与类之间的关系,继承和组合。
掌握接口的概念至关重要。类拿来怎么用,就是类怎么负责自己的要干的事情。
设计类的时候,不要把重点投入到如何实现上面,把重点放在这个类能干什么上面。
而需要三个视角,概念视角,规约视角和实现视角,来思考这些问题。

我们都在路上。。。。。
2011-12-26 15:16
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
有几本国外的书都在讲这些,《设计模式:可复用面象对象程序设计基础》,《OOD启示录》,《大象UML》这些都可以下来看看。

[ 本帖最后由 hellovfp 于 2011-12-26 15:27 编辑 ]

我们都在路上。。。。。
2011-12-26 15:25
mamagoose
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-12-19
收藏
得分:0 
回复 4楼 hellovfp
我是菜鸟,刚开始学,请问小飞侠的程序里面,
其中关于 heigh 的属性:  
public double Height 这个height是应该大写还是小写呢?有影响吗?如果是大写,会自动和小写关联吗?
 
还有,这个例子该怎么实际在VS中实现呢?是不是直接新建一个项目,然后在项目里面添加程序里的两个类?
(这个已经会了,等我单步执行一遍就都清楚了。呵呵)

[ 本帖最后由 mamagoose 于 2011-12-26 21:27 编辑 ]
2011-12-26 16:19
快速回复:请教老师大侠:C#的 “类”、“对象”、“方法” 对应 “控件”、“属 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017547 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved