• 20141011C#面向对象基础


    什么是对象?—— 一切皆为对象。Object

    生活中常说的“东西”,就是我们程序里所指的对象。

    归类——找模型——抽象

    类:class,对某类众多对象共同的特点进行抽象出来的模型

    对象——(抽象的过程)——类

    类——(实例化)——对象

    类一般包括两类东西:变量(名词,成员变量)  函数(动词,成员方法)

    面向对象三大特性:封装,继承,多态。

    封装:1.不同类的变量只属于各自的类;2.不同对象的成员变量只属于各自的对象,彼此不影响;3,对象中的变量需要通过方法(函数)实现操作,比较安全。

    继承:父类,子类。子类可以从父类继承下父类的成员和方法。

    多态:某类众多不同对象在执行的时候,表现出来的形态各异,这种现象成为多态。

    构造函数:特殊的成员函数。如果不写构造函数,系统会自动生成一个默认的构造函数。

    1. 写法特殊:没有返回值,函数名只能与类名一样
    2. 执行特殊:类在实例化(new出来的)的时候自动执行。构造函数是最早执行的成员函数。构造函数是用来生成对象的函数。

    public MyDate()

    {

            _Year = 2014;

    _Month = 10;

    _Day = 1;

    }

    主要作用:对象实例化生成的时间,做一些初始化的操作。

    重载:多个函数的函数名相同,参数不同(个数,类型)的函数就形成了重载。

    重载只与函数名和参数有关,与返回值无关。

    This:当前对象,不是当前类。

    1. this.成员变量(成员方法)
    2. this调用当前对象的其他构造函数。Public Bird(string name,string ):this(name)

    is:对象 is 类名

    对象属于后面的类,则返回true,否则返回false

    可以把类分成几部分,放在不同的文件中(两个类),partial写在类的class前面,它代表,此处写的类是类的一部分,还可以继续用partial class来补充类的扩展。

    partial class circle

    {

          

    }

    一、属性

    类中的方法(函数)一般有三类:构造方法,属性方法,行为方法。

    在变量名上右键——重构——封装字段

    get{ }     set{ }

    public int r

    {

        get { return r; }

        set { r=value;}

    }

    注意:1.属性是用来为成员变量赋值和取值的,它有替代属性方法的作用

    2.属性定义的时候,属性名后没有小括号

    3.属性都是public

    4.属性中只能包括两部分,即get部分和set部分。代码也只能写在get,set的花括号中

    5.如果属性中只有set,没有get,则成为只读属性,反之,成为只写属性,二者都有成为可读写属性。

    静态:

    Static 静态成员变量   在内存中占用小,都可以访问

    静态成员,静态变量,静态方法,静态属性

    静态成员属于类的,不属于实例。例如:抽纸的标准抽数。

    静态变量在内存中只保存一份,不像实例那样,每个对象都保存一份。

    在C#中,在当前类的花括号之外,静态成员,只能用类名来调用,不能用实例名来调用。而实例成员只能用对象来调用,不能用类名来调用。

    例如:抽纸的标准抽数是静态成员,200张;抽纸中可用的实际张数应当是实例成员。

    继承:父类与子类

    1. public,protected修改的成员可以被继承到子类去。Private修饰的成员,无法被子类继承。
    2. 单继承:一个父类可以派生多个子类,但每个子类只能有一个父类。
    3. 实例化子类的时候,会先执行父类的构造函数,再执行子类的构造函数。
    4. Base关键字,用来调用父类的相关成员,base.xxxx()调用父类的成员方法。Base(…)调用父类构造函数
    5. 如果父类中有且只有一个带参的构造函数,则其子类必须要有带相应参数的函数,并且通过base()把参数
  • 相关阅读:
    微信小程序HTTPS
    微信商城-1简介
    va_list
    Event log c++ sample.
    EVENT LOGGING
    Analyze Program Runtime Stack
    unknow table alarmtemp error when drop database (mysql)
    This application has request the Runtime to terminate it in an unusual way.
    How to check if Visual Studio 2005 SP1 is installed
    SetUnhandledExceptionFilter
  • 原文地址:https://www.cnblogs.com/zsmj001/p/4019310.html
Copyright © 2020-2023  润新知