
c#
Rebirth0221
最近总结分享一些在项目中遇见的问题和解决办法,帮助初级程序员能够快速上手解决问题。
展开
-
继承的定义
继承继承的本质是对某一批类的抽象,从而实现对显示世界更好的建模。extands的意思是“扩展” 。子类是父类的扩展。Java中类只有单继承,没有多继承!继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用extends来表示。子类和父类之间,从意义上讲应该是具有“ is a”的关系。object类super方法重写super注意点:super调用父类的构造方法,必须在构造方法原创 2020-11-23 19:15:51 · 374 阅读 · 0 评论 -
构造方法
构造器:类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:必须与类的名字相同必须没有返回类型,也不能写 void作用:new 本质在调用构造方法初始化对象的值注意点: 1. 定义有参构造之前,如果想使用无参构造,显示的定义一个无参的构造快捷键 : Alt +Insert//persion类public class Persion { //一个类机试什么都不写 他也会存在一个默认的无参构造函数 String name;原创 2020-11-19 15:23:01 · 113 阅读 · 0 评论 -
封装
封装该露的露,该藏的藏我们程序设计要追求 “高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉。低耦合:仅暴露少量的方法给外部的使用。封装(数据的隐藏)通常,应禁用直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这称为信息隐藏。属性私有 get/set...原创 2020-11-20 07:58:10 · 112 阅读 · 0 评论 -
c#集合与泛型集合
集合集合的命名空间:using System.Collections;泛型的命名空间:using System.Collections.Generic; 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比泛型集合更好的类型安全性和性能。集合的事例代码: ArrayList list = new ArrayList(); List<string> arr = new List<string>(); .原创 2020-11-24 18:10:37 · 472 阅读 · 1 评论 -
c#的接口详解
接口-在声明一个接口时,需注意以下几点:接口成员只能是方法,索引以及属性,不能包含字段,构造函数和常量。接口成员隐式是公开的,不能显示指定访问修饰符。接口中的方法,索引以及属性不能有任何实现。接口中最常用的成员是方法,在接口中定义方法时只需给出返回值类型,方法名称和参数列表,然后以分号结束(类似抽象方法)可以理解接口为一种特殊的抽象类。接口的命名一般为“I”开头。只有类和结构才能实现接口,类或者结构要实现接口,必须注意以下几点:在父类列表中包含接口名称。为每个接口的成员提供原创 2020-11-24 17:59:17 · 680 阅读 · 1 评论 -
c#抽象类
抽象抽象成员必须标记为abstract,并且不能有任何实现抽象成员必须在抽象类中,但是抽象类中不一定全是抽象成员抽象类不能实例化子类继承抽象类后,必须把父类中的所有抽象成员都重写(除非子类也是一个抽象类,则可以不重写)抽象成员的访问修饰符不能是private 私有的 因为你定义了抽象方法 就是为了让子类重写 那定义了私有抽象方法 还有意义吗在抽象类中可以包含实例成员(实例成员可以不让子类重写)抽象类是有构造函数的,虽然不能实例化-- 抽象类里面都没有方法体 public abstract v原创 2020-11-24 17:56:04 · 284 阅读 · 0 评论 -
c#继承与多态
一个子类不可以继承多个父类,继承的两个特性:传递性,单根性。父类可以有多个子类,子类只能有一个父类。多态就是同一操作作用于不同类的实例,不同的类将进行不同的解释,最后产生不同的结果。任何类都可以从另外一个类继承,这就是说这个类拥有它继承除私有成员外的所有成员。调用父类的构造函数时:在默认情况下c#中使用new创建子类对象时,首先调用父类无参构造函数,在调用子类构造函数 最后在输出调用的类。例题p84.使用base关键字调用父类构造函数:有时为了数据的安全性,并没有将父类的所有成员都暴露给子类.原创 2020-11-24 17:53:09 · 657 阅读 · 2 评论 -
枚举
枚举:枚举不能定义自己的方法。它们不能实现接口。它们不能定义属性或索引枚举里面的成员都是public 所以不需要访问修饰符 枚举 是对于常量有相同类型多个值的时候选择枚举。枚举定义:都是一些有规律固定的成员,比如:性别 星期 季节 方向事例代码: 枚举不能修改//枚举转换成int类型 Console.WriteLine("枚举转换成int类型"); month m = month.January; Console.原创 2020-11-22 19:46:17 · 173 阅读 · 0 评论 -
C#基本数据类型
引用类型: 类 接口 数组 字符串(string 特殊的)委托值类型:简单类型(int float double)结构类型 枚举类型声明一个枚举和结构的关键字分别是啥:枚举:enum (enumerate的缩写)结构:struct (structure 的缩写)什么叫装箱和拆箱:装箱:值类型转换成引用类型拆箱:引用类型转换成值类型值类型与引用类型的区别在于它们在内存中的存储方式值类型(实际数据):①值类型的数据通常存储在内存栈中②从栈中可以快速访问数据③值类..原创 2020-11-22 19:43:13 · 287 阅读 · 0 评论 -
c# 索引器
索引器关键字是 this 和属性一样有get和set。索引器的参数是一个下标定义索引器按如下步骤:①指定索引器可访问器的访问修饰符②索引器的返回类型(由get访问器返回)③This 关键字(this是索引器的名称,且必须用this)④在方括号中定义索引器的数据类型好标识符⑤在大括号中定义索引器的主体 包括get和set访问器索引器一般是针对类的数组元素。如果 索引器 是string 类型 如果没有返回 null是 int 类型 如果没有返回 0如何创建索引器:访问修饰符 数据原创 2020-11-22 19:39:58 · 156 阅读 · 0 评论 -
c# 重载 Readonly和const
重载同一个方法名 通过不同的参数调用不同的方法(个数 顺序 类型) 必须方法名称相同重载是针对方法的什么是重载: Readonly(只读)const(常量)Readonly 在实例化的时候,不能给readonly赋值。只能在初始化的时候赋值和构造函数中赋值。只读 不能set赋值 ,只能get查询Const 初始化的时候必须赋初始值。(一旦赋值,不可以修改)...原创 2020-11-22 19:38:48 · 165 阅读 · 0 评论 -
c# 静态
静态不会是所有的静态对象都必须写在静态类中,但是在静态类中的成员都必须是静态成员实例是属于对象的, 静态是属于类的。调用实例字段 必须实例化 调用静态字段 直接用类就能点出来Static 直接使用加上static 实例的东西 就变成类了 就可以直接用类掉出来如果要用静态实例 必须要和静态属性一起用。静态就是用类调用,实例成员就是实例调用不能再静态类中声明实例成员。静态构造函数:① 不能有访问修饰符② 不能有参数③ 自动调用,不会是手动调用④ 在第一次使用静态成员和类的时候自动原创 2020-11-22 19:34:51 · 258 阅读 · 0 评论 -
c#构造函数
构造函数构造函数是一个特殊的成员函数,它与类同名,在创建对象时由系统自动调用。构造函数一般用来数据成员分配资源并初始化。构造函数的特征 :①构造函数没有返回值类型,也没有返回值②构造函数可以有多个,这叫一组重载构造函数③任何对象要创建成功必须先调用对应的构造函数实例构造函数的不同之处–静态构造函数只执行一次。与实例构造函数一样,要成为静态构造函数必须具有以下特点:① 静态构造函数不能使用任何访问修饰符。② 静态构造函数不能带有任何参数。③ 静态构造函数只会执行一次。④ 不能直接调用静态原创 2020-11-22 19:33:08 · 224 阅读 · 1 评论 -
c#面向对象
对象是具有明确定义的状态和行为的具体实体c#有4种修饰符分别为:public internal private prtected面向对象的3大特征是:封装 继承 多态类是具有相同特征(属性)和行为(方法)的一组对象的集合对象是存在的具体实体,具有明确定义的状态和行为。在类中表示对象或实体拥有的特征时称为属性。在类中表示对象或实体拥有的行为成为方法。类命名的规范:字段都是小写 属性都是大写...原创 2020-11-22 19:29:58 · 114 阅读 · 1 评论 -
.NET Framework框架的介绍
NET 是一个平台 它支持很多种语言 如c# j#等等NET 框架的核心cv++.NEt C# VB.NET J# …(第三层).NET Framework(第二层)操作系统(最底层)NET Framework 只能支持windows操作系统 不能跨系统进行操作。NET 框架是.NET 战略的基础 主要有两个组件分别是公共语言运行时(CLR)和框架类库(FCL)公共语言运行时(CLR)包括:CLS 公共语言的规范CTS通用类型(设计语言的体系)框架类库(FCL)包括:.原创 2020-11-22 19:27:50 · 1332 阅读 · 1 评论