zoukankan      html  css  js  c++  java
  • 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()把参数
  • 相关阅读:
    redis 配置文件说明
    Python 详解命令行解析
    Python 的字符编码
    pt-online-schema-change utf8mb4 错误解决方法【转】
    [MySQL 5.6] Innodb新特性之export/import 表文件
    查找数据库大小和表大小
    MySQL 增删列
    使用MySQL Shell创建MGR
    Qingcloud_MySQL Plus(Xenon) 高可用搭建实验
    MySQL事务提交流程
  • 原文地址:https://www.cnblogs.com/zsmj001/p/4019310.html
Copyright © 2011-2022 走看看