• C#面向对象


    面向对象是什么?

    面向对象是一种思想,以C语言的流程语句编写思路是按照事情发展顺序编写,面向对象是把事物看成独立的个体来编写程序

    面向对象的思想是对自然界对象的描述,首先要保证个体内部的隐私,因此用到封装,对象与对象之间的关系有继承关系,同类但不同的对象可以用多态来描述

    类是什么?

    类是对一类实体的抽象,因此要使用类首先要实例化。类的基本结构如下:

     class  类名{

    构造函数

        成员变量

       函数

    析构函数

    }

    面向对象的实现方式?

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

    封装:采用访问修饰符实现

    public:公共,谁都能访问

    private:隐私,只能类内部访问

    protected:类内部和子类能访问

    internal:当前程序集能够访问,默认

    sealed:密封类,不能被继承

    特殊修饰符

    abstract:抽象基类,表示对类的抽象,必须派生成类才能实例化使用

    interface:接口,必须派生成类

    抽象类和接口特性相似,但意义不同,抽象类和接口都可以被继承,不能直接被实例化,但一个类可以继承多个接口,只能继承一个抽象基类

    继承:描述两个类之间的父子关系,C#不能多继承,每个个体只能有一个父亲,如果需要可以继承多个接口

    多态:多态通过重载实现,重载包括函数重载和运算符重载,指的是函数名相通,但是可以根据参数类型不同来选择不同的函数执行。注意,返回值不同不能实现多态。

    名词解释:

    类:一个带有接口集合,是面向对象的实现方法

    字段:类内所声明的内部变量。

    属性:对字段当从外部使用get;set;方法去设置或者读取时,即可视为属性

    方法:类内函数

    构造函数/析构函数:类必有方法,对所以类成员的初始化都放在构造函数里,所有成员的内存释放都放在析构函数,构造函数与类同名,析构函数位(~类名)

    静态成员:静态成员的生命周期是整个程序,因此可作为全局变量在类之间传递

    静态构造函数:用来初始化静态成员,不可调用,使用静态成员时自动调用,只调用一次

    静态类:只包含静态成员,全局只初始化一次,不能实例化,直接作为已经实例化对象调用就行,可用于类之间的传值

    接口:为何相当于抽象基类,接口只能包含方法、属性、索引器定义,没有实现代码,不能实例化。

    继承:继承是指用在父类(基类)的基础上创造子类,子类可以添加重写方法

    抽象类:abstract修饰,不包含实现代码的类,只能用于继承,不能实例化

    使用接口:需要先在某一个类中继承接口,实现接口的所有方法,这样接口起到一个管理类与类之间连接问题,达到低耦合的目的。

    密封类:sealed修饰,防止派生,禁止子类继承。

    虚拟成员:virtual修饰,子类如果对父类使用override重写,父类会被覆盖。

    抽象方法:abstract修饰,必须在派生类重写

    隐藏方法:new修饰,类内隐藏,子类父类同名函数互不相干

    多态:多态是指同类型东西的多种状态,多态通过重载、继承、重写、抽象、虚方法实现。

    问题:

    问:为何要new一个对象?

    因为所有的声明后的类必须先初始化,初始化就要调用构造函数,new关键是就是调用构造函数的一种方式

  • 相关阅读:
    从程序员到项目经理(13):如何管理自己的时间(下)
    从程序员到项目经理(11):每个人都是管理者
    从程序员到项目经理(15):项目管理三大目标
    程序员:伤不起的三十岁
    从程序员到项目经理(9):程序员加油站 再牛也要合群
    从程序员到项目经理(7):程序员加油站 完美主义也是一种错
    从程序员到项目经理(4):外行可以领导内行吗
    ArcGIS API For Android离线地图的实现
    ArcGIS for Android地图控件的5大常见操作
    从程序员到项目经理(16):原来一切问题都是可以解决的
  • 原文地址:https://www.cnblogs.com/feichangnice/p/9074860.html
Copyright © 2020-2023  润新知