码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象(1)

时间:2015-04-28 15:50:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

一、为什么需要面向对象?
生活中所有的东西都是一个个的对象,为了描述他们方便,我们就把它们使用面向对象的方式来解决。

二、什么是面向对象编程?
根据具本的实际生活(业务),设计相对应的类或对象出来,按照生活中的流程或逻辑来操作程序中的类或对象,这样更直观,更方便。

三、面向对象的三大特性:封装、继承、多态。
**********************************************************
一、类的基本概念
(一)类的基本了解。
类:自己定义的一种复杂的类型。
类一般包括两大部分:字段-成员变量(名词或形容词),方法-成员函数(动词)
类的关键词:class
(二).类的定义:
class 类名
{
    成员变量的定义;
    ...
    成员函数的定义;
    ...
}
在类的成员(成员变量,成员函数)前面经常会加访问修饰符(public private protected)
public - 公有的。例如:。。。
private - 私有的。例如:。。。


(三).类的使用:
Dog d = new Dog(); //实例化
d.Name = "旺财";
d.Owner = "张三";
d.Run();

d - 对象的引用。
new Dog() - 真正的狗的对象。

(四)附加:
C#中的变量的类型:
1、值类型:
int float double char bool struct datetime
2、引用类型:
string 数组 自定义的类。
模型图:堆空间与堆空间。
1.用模型图解释:
A a1 = new A();
A a2 = new A();
Console.WriteLine(a1== a2);  //结果为什么是false?

技术分享
2.用模型解释:上面狗的例子,为什么最后d.Run()会显示成李家的狗?

技术分享
3.用模型解释:int a = 100; int b= 100; Console.WriteLine(a == b);结果为什么是true?
(对栈来说)同一个地址(的值)。


类的封装:不要随便把成员变量设成public,一般需要设成private或protected,通成员方法或成员属性来实现对成员变量的合法访问。

二、类的成员——属性

属性:对成员变量进行访问的端口。
(一)属性的定义:
public 类型 属性名
{
    get
    {
    }
    set
    {
        关键词value.代表是要赋的值。
    }
}
例:

 private int _Height;

        public int Height
        {
            get { return _Height; }
            set
            {
                if (value > 0 && value < 300)
                {
                    _Height = value;
                }
                else
                {
                    Console.WriteLine("error");
                }
            }
        }
(二)属性的使用:
直接通过属性名进行使用。
Console.WriteLine(r.Height); - 调用属性的get部门
r.Height = 180; -调用属性的set部分。

三、类的方法——成员函数——方法重载
方法的名字相同,参数不同(类型不同,个数不同)——形成了方法的重载。
重载方法与返回类型无关。
好处:
1.减少方法名的定义,不用记太多的方法名了。
2.减少代码重复,更大限度的重用,代码结构更合理。
例:

    class Math
    {
        //整数相加
        public int Add(int x, int y)
        {
            return x + y;
        }
        //浮点相加
        public double Add(double x, double y)
        {
            return x + y;
        }
    }


多个重载方法被调用的时候,首先找方法名,然后再根据参数找对应的重载方法。

面向对象(1)

标签:

原文地址:http://www.cnblogs.com/likaixuan/p/4462503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!