编程语言
首页 > 编程语言> > c#初级学习_面向对象编程

c#初级学习_面向对象编程

作者:互联网

堆 栈 静态存储区域 类(类文件是以cs结尾): 写出类后需要创造类的对象(program),即类的实体化 使用关键字new。{类名 对象名 = new 类名()} this:指当前类的对象 类并不占内存,对象占用内存。 【public】 class 类名 { 字段;属性;方法;构造函数;} 方法:public static 方法名()静态方法 {} 静态与非静态 非静态 (当你的类是) 1)在非静态类中,可以有实例成员,可以有静态成员 2)调用实例成员:对象名.实例成员 调用静态成员:类名.静态成员名 静态 (当你的类是一个工具类,静态类资源共享,无对象) (程序结束才会后释放资源) 1)静态类里只能出现静态成员 2)静态类不允许实例化 构造函数(必须是public) 创造对象后进行构造函数,帮助初始化对象 特殊方法原因 1:构造函数必须与类名相同: 2:构造函数没有返回值 public 类名(参数,参数......) { this.参数名=赋值参数;} 调用时:类名 对象名 = new 类名('参数赋值'.....) new关键字{1:在堆中开辟内存 2:创建对象 3:在对象中调用构造函数 4:隐藏与父类相同的成员} this关键字(1:代表当前类的对象 2:再类当中显示的调用本类的构造函数{函数名:this} ) 析构函数 程序结束时候执行,帮助释放资源 格式: ~类名(){} 面向对象继承 命名空间(创造alt+shirt+f10) 引用:1:添加引用 2:添加命名空间 值类型与引用类型(存储地方不一致) 值类型存储在栈里,引用类型存储在堆里 字符串具有不可变性,没有指向的字符串会被jc(垃圾回收站)删除 继承:在类的重复成员单独封装在一个类中作为基类 语法:在类的后面加:基类名建立类关系 子类能够继承父类的属性方法,但是并没有继承父类的私有字段 继承的单根性:一个派生类不能拥有多个基类 继承的传递性:派生类可以用作其他派生类的基类 查看类图:右键——视图——查看类图 子类不会继承父类的有参构造函数,但是会继承无参的构造函数 在子类中显示父类的构造函数时需要关键字: base(); 里式转换 1)子类可以赋值给父类,如果有一个地方需要父类作为参数,可以给一个子类代替 父类对象 = new 子类(); 2)如果父类中装的是子类对象,可以使这个父类强制转换为子类 as:如果转换成功true,如果失败返回一个false is:如果能够转换则返回一个对应对象,转换失败会返回null 集合:很多数据的集合,长度可随意改变,类型也可随意。 ArrayList 集合名 =new ArrayList(); {集合名.Add(数据);} list.clear();清空所有元素 list.Reamove(true);删除单个元素 list.RemoveAt(0);根据下标删除元 list.Sort();升序排列 list.Reverse();反转 list.Insert(位置,元素);在指定位置插入一个元素 bool b=list.Contains();判断是否包含某个指定元素 添加的集合成员数据类型被转换为object类型 protected 修饰符 具有能够对子类进行访问的权限 打印对象时,默认情况下打印的是对象所在的命名空间

标签:c#,子类,静态,初级,对象,面向对象编程,父类,类名,构造函数
来源: https://www.cnblogs.com/alicia0/p/16368401.html