代码编织梦想

目录

1.子类对父类成员的继承

2.c#重写和java重写的区别

3,父类虚方法和子类重写方法的应用

4,隐藏方法

5.抽象类的特点

6,什么时候抽象类可构造函数,怎么进行操作

7,抽象方法 类似于虚方法

8.密封类和密封方法 --sealed

9.在子类调用父类上Java和c#有什么区别

10,访问修饰符的层级关系

11,命名空间的引用

12,internal 和 public的区别

13,Const 和 static的区别

14,readonly什么时候用

15,在访问类中静态成员的格式上,java和c#有什么区别


1.子类对父类成员的继承

子类是全部继承自父类,只不过是父类私有的成员,子类只是继承,但未具备访问的权限

2.c#重写和java重写的区别

1.c#重写:

父类需要加上修饰符,virtual ,子类需要重写方法需要加上 override ,

2,java的重写:

类似c#的隐藏函数,无修饰符,直接重写

3,父类虚方法和子类重写方法的应用

父类 xx= new 子类();

父类 . (子类重写方法的调用)

4,隐藏方法

1,操作:去掉父类和子类的修饰符 vritual 和 override ,但是子类要加上 new ,用来提醒程序员,在父类有同名方法现在是否确定重写 ,之后照常重写

2, 好处: 对父类的方法隐藏

5.抽象类的特点

1,抽象方法必须在抽象类里面

2,抽象 :abstract

3,不完整,因为它的抽象方法不具有函数体

4,可声明,不可实例化

子类继承抽象类的特点:

1.不是抽象类的子类如果要继承抽象父类那么就一定要重写父类中 的抽象方法,但是抽象子类不用重写

2.抽象类中可以有抽象成员也可以没有抽象成员

3.父类的构造函数有参数的时候,子类的构造函数也要把父类的参数并上去如下

public son( int a , int b ) : base (a ,b ){}

6,什么时候抽象类可构造函数,怎么进行操作

1,当抽象子类继承抽象父类进行抽象方法重写时,然后

抽象父类 xx =new() 子类 ; // 子类不是抽象的

xx.(子类重写方法的调用)

7,抽象方法 类似于虚方法

1.问题1: 抽象类 和 抽象方法的好处?

比如: NPC是一个怪物群体的统称,在NPC中它也规定有一个攻击方式一栏,那么比如说大大怪和小小怪,他们都是所属于NPC,但是他们的攻击方式需要自己去重写。

2.问题2:抽象方法 和虚方法的 好处?

说白了就是可以在子类进行重写

8.密封类和密封方法 --sealed

1.密封类: 不可被继承

2.密封方法 :针对子类的重写方法 ,只能重写一次

9.在子类调用父类上Java和c#有什么区别

1.java : 用super; 去调用分类隐藏的方法//父类的私有成员可以被继承但是不能被访问

2,c#: 用base;

10,访问修饰符的层级关系

访问修饰符级别低的不可以访问级别高的

11,命名空间的引用

也就是说要访问其他项目中的类该怎么操作:

1.在新建的项目中右键 添加 项目引用 ,选中确定

2.用using去添加

12,internal 和 public的区别

明显的区别在于前者只能同一个在项目(程序集)下使用,

13,Const 和 static的区别

1,static是静态变量,const是静态常量。

(1)static修饰变量,具有共享性

(2)static修饰方法,则方法中只能调用静态数据

(3)static修饰类,类中只能全部时静态成员,并且不能实例化,因为可以直接调用

形象比喻为 ,模板,直接拿来使用,具有公共性

2,用const修饰的量不可改变 ,且必须初始化,否则会报错

14,readonly什么时候用

是public 和 readonly修饰的变量 , 该变量 被你限制为只能在它的构造函数中给他赋值,而不能通过其他情况给他赋值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace siki_测试2
{
   public   class _readonly_
    {
        public readonly int a;  //在外面被调用是不能修改其值
        public int b;           //在外面 被调用时可以修改它的值

     public _readonly_(int a, int b)
        {
            this.a = a;
            this.b = b;
        }

       
    }
}

15,在访问类中静态成员的格式上,java和c#有什么区别

java访问类静态成员时用类成员名

c#则用类名访问

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_64128218/article/details/127154158

c#抽象类和接口的异同_梦想家no1的博客-爱代码爱编程_c# 抽象类和接口的区别

C#抽象类和接口的异同 一. 相同点 都可以被继承都不能被实例化都可以包含方法声明 二.区别 区别: 抽象基类可以定义字段,属性,方法实现,构造函数。接口只能定义属性,索引器,事件,方法声明抽象类是一个不完整的类,

c# 接口和抽象类-爱代码爱编程

一、接口 1、C#的接口可以实现多重继承的功能。 接口的实现是通过类继承实现的,一个类虽然只能继承一个基类,但是可以继承任意多个接口。 2、接口的语法格式: 修饰符 interface 接口名称:继承的接口列表 { 接口内容; } 3、接口的特征 (1)接口类类似于抽象基类:继承接口的任何类型都必须实现接口的所有成员。 (2)接口中不能

C#抽象成员、抽象类和抽象方法详解-爱代码爱编程

抽象成员、抽象类和抽象方法详解 抽象成员抽象类抽象类和抽象方法的示例抽象类的另一个例子 抽象成员 抽象成员是指设计为被覆写的函数成员。抽象成员有一下特征: 必须是一个函数成员。也就是说,字段和常量不能为抽象成员。必须用abstract修饰符标记。不能有实现代码块。抽象成员的代码用分号表示。 例如,下面取自一个类定义的代码声明了两个抽象成员:

C#中抽象类与抽象方法的详解-爱代码爱编程

前言:在上一篇博文关于重写的前提说明中提到了,那么今天我们一起来看看抽象类以及抽象方法…,首先我们顺着目录从抽象类的介绍开始学习: 目录: 一.抽象类:1.声明形式(创建抽象类):2.抽象类的调用:二.抽象类的规则:三.抽象方法:四.应用举例:五.抽象类的运用意义;六.总结: 一.抽象类: 抽象类:往往用来表征对问题领域进行分析、设计中得出的抽

C#中接口和抽象类的区别-爱代码爱编程

前言:前面我们详细的讲解过C#中的接口和抽象类,那本篇文章我们来详细的看看他们到底区别在哪里?直通车: C#接口(Interface)、C#抽象类 目录: 一、两者的区别相同点不同点二、两者的使用场景 一、两者的区别 相同点 两者都不能直接实例化两者都包含未实现的方法声明派生类必须实现未实现的方法,抽象类是抽象方法,接口是所有成员(不仅是方法

C#学习入门(三)—— 抽象类-爱代码爱编程

目录 1.抽象类的概念和定义1.1 定义1.2 抽象方法1.3 重写抽象方法1.4 抽象类和具体类的区别1.5 多态2. 实现的案例2.1 例子2.2 向下转换3. 异常处理3.1 try-catch3.2 使用as和is 1.抽象类的概念和定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质

c#接口和抽象类-爱代码爱编程

一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类

C#中的抽象类和抽象方法-爱代码爱编程

C#中的抽象类和抽象方法 抽象类和抽象方法概念抽象类和抽象方法特性示例 抽象类和抽象方法概念 使用abstract修饰符声明的类和方法称为抽象类和抽象方法。抽象类不能被示例化,只能作为其他类的基类使用。 抽象类和抽象方法特性 抽象类可以包含抽象方法和抽象属性。不能使用sealed修饰符修改抽象类,因为抽象类只能作为基类使用。从抽象类派生的

C#中抽象类与抽象方法的作用与实例-爱代码爱编程

在C#中,允许把类和方法声明为抽象类与抽象方法,具体的声明方法是在类名或方法名前加上abstract关键字。那么我们什么时候应该用抽象类呢?如果一个类设计的目点是用来被其它类继承的,它代表一类对象的所具有的公共属性或方法,那个这个类就应该设置为抽象类。抽象类与其它的类有什么区别呢?抽象类是不能够被实例化的。如果一个类中包含有抽象方法,那么这个类一定要

C# 抽象类与抽象方法-爱代码爱编程

01 — 前言   如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类。在抽象类中声明方法时,如果加上abstract关键字,则为抽象方法 02 — 抽象类概述及声明 抽象类主要用来提供多个派生类可共享的基类的公共定义,它与非抽象类的主要区别如下。 ①抽象类不能直接实例化。 ②

c#入门-抽象类-爱代码爱编程

虚方法 字段或属性可以声明为virtual。拥有这种修饰的属性或方法不仅能创建仅子类可用的方法,还能直接重写父类方法。 重写方法需要使用override关键字。 重写方法 new方法的执行取决于声明的类型。重写方法的执行取决于实际值的类型。 重写方法和new方法只能选一个。如果都存在的话那么也会因重名而报错。 重写的方法也视为虚方法,在被继承后仍能

C#抽象类的继承-爱代码爱编程

先定义一个抽象类shape,用abstract修饰 abstract class shape { private double width; private double height; protected shape(double width, double height)