ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-06-12 17:34:33  阅读:161  来源: 互联网

标签: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有