C#基本语法复习-创建并管理类和对象

控制可访问性:

  private一个方法或字段只允许从类的内部访问,private关键字是默认的

  public方法或字段既能从类的内部访问也能从外部访问

  方法中声明的变量默认是不初始化的,而类中的字段自动初始化为0,null,false

使用构造器:

  与类同名。能获取参数,但不能返回任何的值(即使是void),构造函数一般申明为public,如果声明为private则无法再类的外部构造类的对象。

分部类:

  使用partial关键字修饰类。

假如方法中的参数与一个变量同名,则在该方法的任何语句中,参数都会覆盖字段,要应用字段则要在字段前加上this关键字。

理解静态方法和数据:

  将一个方法或字段声明为static,就可以用类名来调用方法或字段,在static静态方法中,不能访问类中定义的任何实例字段,只能访问static字段,只能直接调用类中的其他static方法,非static方法必须先创建一个实例然后才能才能对象上调用那些方法。

创建共享字段:

  讲一个字段定义为static,则可以创建能在类的所有对象之间共享的字段。静态字段的修改对所有对象都会有作用。调用静态字段要使用类名作为前缀来进行调用。

使用const关键字创建静态字段:

  使用const关键字修饰的字段的值永远不会改变,其修饰的字段只能是枚举,数值类型,或者是一个字符串。

静态类:

  在类的修饰符中采用static关键字,静态类中只能包含静态成员,静态类不能包含任何实例数据和方法,static字段和方法不能附加this关键字作为前缀。

匿名类:

  匿名类只能包含public字段,字段必须全部初始化,不可以是static字段,而且不能再其中指定任何方法。格式为:var a=new {Name="占山",age=11};

时间: 2024-11-10 04:56:36

C#基本语法复习-创建并管理类和对象的相关文章

第七章、创建并管理类和对象

类容纳的信息存储在字段中,类提供的功能用方法实现. 封装是定义类的重要原则.它的中心思想是:使用类的程序不应关心类内部如何工作.程序只需创建类的实例并调用类的方法.因此,封装有时称为信息隐藏,它实际有下面两个目的: ①将方法和数据合并到类中:换言之,为了支持分类. ②控制对方法和数据的访问:换言之,为了控制类的使用. 类主体包含普通的方法和字段.记住,C#术语将类中的变量称为字段. 类是建筑蓝图,对象是按照蓝图建造的房子.同一个类可以有多个对象,正如同一张蓝图可以建造多个房子. 控制可访问性 只

创建运行时类的对象,调用指定的属性方法构造器

1 使用newInstance(),实际上是调用运行时空参的构造器    注意构造器的权限修饰符要足够,同时必须有一个空参的构造器. 2 调用指定的属性方法构造器 package lianxi1; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Meth

关于“如何做到在一个类内不通过创建另一个类的对象,却调用另一个类的方法”的问题

通常,我们在java中通过实例化一个类来调用该类的方法,但是,如果有多个类都要调用这个类地方法,是不是要在每个主调类里面都创建一个被调用类的对象呢? 如果这样做,会不会因为多次实例化而影响程序的执行效果呢? 答案是:没必要多次创建被调用类的对象,而且多次实例化还可能会影响程序执行效果. 解决问题的办法是:在每一个主调类里面各写一个构造方法,形参是被调用类的对象, public ShopCartItem(ShopCart shopcart) { super(); this.shopcart=sho

java反射系列四之创建运行时类的对象

一.概念认知 二.代码示例 package reflect; public class TestConstructor { public static void main(String[] args) throws Exception { TestConstructor T = new TestConstructor(); T.test(); } public void test() throws Exception{ String className = "reflect.Person&quo

Java面向对象复习(一)类和对象

类和对象 1)类和对象的概念?为什么要使用类? 2)如何定义类?定义类,定义类的属性(成员变量),定义类的方法(构造方法,成员方法) 3)如果适用对象?类 对象变量 =new 类(); 4)方法的定义:访问修饰符,返回值类型(void),方法名,参数列表(形参),方法体 5)方法调用:如果方法有参数的话,要传实参给方法 6)两个不同的参数传递方式:值传递,引用传递(数组,类,接口)值传递:实参在方法里面改变的结果是不保留的:引用传递:实参在方法里面改变的结果是保留的:赋值也是类似的道理. 7)成

C#基本语法复习-创建接口和定义抽象类

定义接口: 在接口中要按照与类一样的方式声明方法,只是不能够指定任何访问修饰符,要将方法的主体换成一个分号,接口默认的访问类型是public: interface a{ int b(); } 实现接口: 实现一个接口时,必须保证每个方法都完全匹配与他对应的接口中的方法,方法名和返回类型完全匹配,所有参数包括ref或out都完全,匹配使用接口名作为前缀,这称为显示接口实现,显示接口实现时,方法为私有的,只有采用该接口引用该对象的实例才能实现对方法的访问.采用隐式实现时,用于实现接口中的所有方法都必

oc基础第二天类与对象---1复习

1. OC语言是在C语言的基础之上新增了一些面向对象的语法. 将C语言复杂的.繁琐的.东西封装的更为简单和易用. Objective-C: 本质其实就是C语言. OC完全兼容C. 2. OC将C难用的东西做了封装. 1). #import指令. 2). NSLog()函数. 3). NSString @"jack" 新增了一些数据类型. BOOL class 类 3. 面向过程与面向对象. 4. 代码中的面向过程与面向对象. 5. 类与对象 类 对象 6. 类和对象的关系 类是模板 对

利用反射机制创建类的对象

第一步:创建要反射的类的字节码文件对象,其实就是创建了Class类的对象(一共有三种方法) 方式一:通过对对象获取字节码文件对象 例如:Person p = new Person(); Class c1 = p.getclass(); //Object类中的方法:public final Class<?> getClass()返回此 Object 的运行时类. 方式二:任意数据类型都具备一个class静态属性. Class c2 = Person.class; 方式三:调用Class类中的静态

面向对象,元类,控制类,对象的创建

""" call 调用的意思 ? 在在对象被调用时 执行 函数 类 自定义元类 的目的 ? 1.可以通过call 来控制对象的创建过程 ? 2.可用控制类的创建过程 """ 自定义一个元类 元类也是一个类 但是需要继承type class MyMeta(type):?self 表示要创建对象的那个类(Person) *args是调用Person类时传入的参数??  def __call__(self, *args, **kwargs):??