当前位置: 首页 > wzjs >正文

适合做网站服务器的主机网站网页设计0基础学

适合做网站服务器的主机,网站网页设计0基础学,教人做素食的网站,建立门户网站需要什么技术特征——成员变量 行为——成员方法 初始化调用——构造函数 释放时调用——析构函数 保护成员变量——成员属性 像数组一样使用——索引器 类名点出使用——静态成员 自定义对象可计算——运算符重载 静态类和静态构造函数 拓展方法 内部内和分部类 知识点一 内部类 …


特征——成员变量

行为——成员方法

初始化调用——构造函数
释放时调用——析构函数

保护成员变量——成员属性

像数组一样使用——索引器

类名点出使用——静态成员

自定义对象可计算——运算符重载

静态类和静态构造函数

拓展方法

内部内和分部类

知识点一 内部类
    概念:在一个类中再申明一个类

    特点:使用时要用包裹者点出自己

    作用:亲密关系的变现

    注意:访问修饰符作用很大   

 class Person{public int age;public string name;public Body body;public class Body{Arm leftArm;Arm rightArm;class Arm{}}}

知识点二 分部类
    概念:把一个类分成几部分申明

    关键字:partial

    作用:分部描述一个类,增加程序的拓展性

    注意:
    分部类可以写在多个脚本文件中
    分部类的访问修饰符要一致
    分部类中不能有重复成员
   

partial class Student{public bool sex;public string name;partial void Speak();}partial class Student{public int number;partial void Speak(){//实现逻辑}public void Speak(string str){}}
知识点三 分部方法

概念:将方法的申明和实现分离
    特点
    1.不能加访问修饰符 默认私有
    2.只能在分部类中申明
    3.返回值只能是void
    4.可以有参数但不用 out关键字    局限性大,了解即可

   

class Program{static void Main(string[] args){Console.WriteLine("内部类和分部类");Person p = new Person();Person.Body body = new Person.Body();}}


 

继承

知识点一 基本概念


    一个类A继承一个类B
    类A将会继承类B的所有成员
    A类将拥有B类的所有特征和行为

    被继承的类称为 父类、基类、超类

   继承的类称为子类、派生类

    子类可以有自己的特征和行为    

    特点
    1.单根性 子类只能有一个父类
    2.传递性 子类可以间接继承父类的父类  
 

知识点二 基本语法
class 类名 : 被继承的类名{}


 

实例
    class Test{}class Teacher{姓名public string name;职工号protected int number;介绍名字public void SpeakName(){number = 10;Console.WriteLine(name);}}class TeachingTeacher : Teacher{科目public string subject;介绍科目public void SpeakSubject(){number = 11;Console.WriteLine(subject + "老师");}}class ChineseTeacher:TeachingTeacher{public void Skill(){Console.WriteLine("一行白鹭上青天");}}class Program{static void Main(string[] args){Console.WriteLine("继承的基本规则");TeachingTeacher tt = new TeachingTeacher();tt.name = "怪盗基德";tt.number = 1;tt.SpeakName();tt.subject = "Unity";tt.SpeakSubject();ChineseTeacher ct = new ChineseTeacher();ct.name = "怪盗基德";ct.number = 2;ct.subject = "语文";ct.SpeakName();ct.SpeakSubject();ct.Skill();}}

知识点四 访问修饰符的影响


    public - 公共 内外部访问
    private - 私有 内部访问
    protected - 保护 内部和子类访问


    internal - 内部的 只有在同一个程序集的文件中,内部类型或者是成员才可以访问
  

知识点五 子类和父类的同名成员


    概念 :C#中允许子类存在和父类同名的成员
    但是 极不建议使用


    总结

继承基本语法
    class 类名:父类名
    1.单根性:只能继承一个父类
    2.传递性:子类可以继承父类的父类的所有内容
    3.访问修饰符 对于成员的影响

    4.极奇不建议使用 在子类中申明和父类同名的成员
 

里氏替换原则

知识点一 基本概念

里氏替换原则是面向对象七大原则中最重要的原则
概念:任何父类出现的地方,子类都可以替代
重点:语法表现——父类容器装子类对象,因为子类对象包含了父类的所有内容
作用:方便进行对象存储和管理

知识点二 基本实现
class GameObject{}class Player:GameObject{public void PlayerAtk(){Console.WriteLine("玩家攻击");}}class Monster:GameObject{public void MonsterAtk(){Console.WriteLine("怪物攻击");}}class Boss:GameObject{public void BossAtk(){Console.WriteLine("Boss攻击");}}class Program{static void Main(string[] args){Console.WriteLine("里氏替换原则");里氏替换原则 用父类容器 装载子类对象GameObject player = new Player();GameObject monster = new Monster();GameObject boss = new Boss();GameObject[] objects = new GameObject[] { new Player(), new Monster(), new Boss() };}}
知识点三 is和as

基本概念 
             is:判断一个对象是否是指定类对象
             返回值:bool  是为真 不是为假

             as:将一个对象转换为指定类对象
             返回值:指定类型对象
             成功返回指定类型对象,失败返回null

            基本语法
             类对象 is 类名   该语句块 会有一个bool返回值 true和false
             类对象 as 类名   该语句块 会有一个对象返回值 对象和null           

 if( player is Player ){Player p = player as Player;p.PlayerAtk();(player as Player).PlayerAtk();}for (int i = 0; i < objects.Length; i++){if( objects[i] is Player ){(objects[i] as Player).PlayerAtk();}else if( objects[i] is Monster ){(objects[i] as Monster).MonsterAtk();}else if (objects[i] is Boss){(objects[i] as Boss).BossAtk();}}

    总结


    概念:父类容器装子类对象
    作用:方便进行对象的存储和管理
    使用:is和as
     is 用于判断
     as 用于转换
     注意:不能用子类容器装父类对象
 

继承中的构造函数

知识回顾
    构造函数
    实例化对象时调用的函数
    主要用来初始化成员变量
    每个类 都会有一个默认的无参构造函数

    语法

  访问修饰符 类名(){}不写返回值函数名和类名相同访问修饰符根据需求而定,一般为public

 构造函数可以重载
    可以用this语法重用代码

    注意
    有参构造会顶掉默认的无参构造
    如想保留无参构造需重载出来

    class Test{public int testI;public string testStr;public Test(){}public Test(int i){this.testI = i;}public Test(int i, string str) : this(i){this.testStr = str;}}
知识点一 继承中的构造函数 基本概念

特点:
    当申明一个子类对象时,先执行父类的构造函数,再执行子类的构造函数

    注意:
1.父类的无参构造 很重要
2.子类可以通过base关键字 代表父类 调用父类构造
 

知识点二 继承中构造函数的执行顺序

 父类的父类的构造——>。。。父类构造——>。。。——>子类构造


   

class GameObject{public GameObject(){Console.WriteLine("GameObject的构造函数");}}class Player:GameObject{public Player(){Console.WriteLine("Player的构造函数");}}class MainPlayer : Player{public MainPlayer(){Console.WriteLine("MainPlayer的构造函数");}}
知识点三 父类的无参构造函重要

子类实例化时 默认自动调用的 是父类的无参构造 所以如果父类无参构造被顶掉 会报错
 

    class Father{public Father(){}public Father(int i){Console.WriteLine("Father构造");}}class Son:Father{#region 知识点四 通过base调用指定父类构造public Son(int i) : base(i){Console.WriteLine("Son的一个参数的构造");}public Son(int i, string str):this(i){Console.WriteLine("Son的两个参数的构造");}#endregion}class Program{static void Main(string[] args){Console.WriteLine("继承中的构造函数");MainPlayer mp = new MainPlayer();Son s = new Son(1,"1412");}}

    总结


    继承中的构造函数
    特点:执行顺序 是先执行父类的构造函数 再执行子类的 从老祖宗开始 依次一代一代向下执行

    父类中的无参构造函数 很重要
    如果被顶掉 子类中就无法默认调用无参构造了
    解决方法:
    1.始终保持申明一个无参构造
    2.通过base关键字 调用指定父类的构造
    注意:区分thisbase的区别
 


文章转载自:

http://CvkTfPh5.prpLf.cn
http://kEhjVgUI.prpLf.cn
http://Sam0ZLRL.prpLf.cn
http://5cuj6tXg.prpLf.cn
http://WYUK8kpY.prpLf.cn
http://c9pHpqpj.prpLf.cn
http://kuL1LA2V.prpLf.cn
http://jFXZQO8p.prpLf.cn
http://kXzXkBoc.prpLf.cn
http://rtYJCW1V.prpLf.cn
http://La9zHBEh.prpLf.cn
http://ZBKcSATO.prpLf.cn
http://KNIdFg8q.prpLf.cn
http://teB10rxL.prpLf.cn
http://WLwrfRi2.prpLf.cn
http://DdVZMrQc.prpLf.cn
http://Meu1Itmc.prpLf.cn
http://lsk7oOAp.prpLf.cn
http://OGPxbScT.prpLf.cn
http://FaseuSB8.prpLf.cn
http://cGHxGEeS.prpLf.cn
http://wOcegL76.prpLf.cn
http://Vxlwxt7B.prpLf.cn
http://S6CNlCJQ.prpLf.cn
http://XTZ7T9ND.prpLf.cn
http://DtDZlpLT.prpLf.cn
http://dkG21QPS.prpLf.cn
http://a4wBFgBs.prpLf.cn
http://LumXW16x.prpLf.cn
http://C8LGVOr6.prpLf.cn
http://www.dtcms.com/wzjs/684560.html

相关文章:

  • 公司网站建设价济南莱芜最新消息
  • 珠海哪里做网站的wordpress的媒体选项
  • 打开网站说建设中是什么问题上海网站制作建设
  • 资源seo网站优化排名商城网站建设要多少钱
  • 廊坊网页模板建站怎么查网站icp
  • 北京长空建设有限公司网站微信二维码网站建设
  • 免费网站下载直播软件如何做电子商务网站
  • 免费网站一级a做爰在免费线看深圳英文网站建设去哪家
  • 学做网站看什么网站建设自学多长时间
  • 网站的开发建设要做什么wordpress仿多特
  • 鼎诚网站建设网站建设的商品分类编码
  • 深圳网站优化哪家好手机app制作用什么软件
  • 品牌网站建设3小蝌蚪公司英文网站建设
  • 成都新东方烹饪学校网站建设主管惠安网站建设
  • 购物网站排名2018泊头市建设局官方网站
  • 郑州建站排名抖音代运营是啥
  • 网站 免费空间门户网站系统建设清单
  • 中国建设银行网站转账百度h5为什么发布不了
  • cms开源网站管理系统学做网站会员
  • 一流的高密网站建设中企动力科技股份有限公司广州分公司
  • 临沂房产和房建设局网站双和科技vi设计
  • 做自媒体小视屏哪个网站好wordpress修改作者链接
  • 企业网站制作 西安中英繁网站源码
  • 深圳品牌网站设计公司价格拐角型布局网站
  • 成都市城乡建设网站windows系统优化软件排行榜
  • 公司如何申请一个网站网址专做海岛游的网站
  • 网站建设中药尽量使用图片免备案空间免费
  • 晋江+网站建设+推广邱启良 深圳网站建设
  • 湛江建站服务微小店网站建设多少钱
  • 全国做网站的公黄骅58同城最新招聘信息