01面向对象强化

1、面向对象

什么事面向对象?一种分析问题的方式,增强了程序的可扩展性

面向对象三大特性:封装、继承、多态

什么是类?什么事对象?类和对象的区别?

是模子,确定对象将会拥有的特性(属性)和行为(方法)

对象是一个能够看的到、摸得着的具体实体——万物皆对象

类是模具,创建对象的模具,抽象的。对象是实体的,是类的具体实例。对象具有属性(特征)和方法(行为)

  • 类是一种数据类型,用户定义的数据类型
  • 类组成:字段、属性、方法、构造函数等

类中包含了数据(用字段表示)与行为(用方法(函数、功能)表示,方法为一块具有名称的代码)

关键字:this    当前对象        base    父类对象

2、封装继承多态介绍

封装

  • 属性封装了字段
  • 方法的多个参数封装成了一个对象
  • 将一堆代码封装到了一个方法中
  • 将一些功能封装到了几个类中
  • 将一些具有相同功能的代码封装到了一个程序集中(dll、exe)并且对外提供统一的访问接口。(属性名、方法名等)

继承(是指类与类之间的关系)

  • LSP里氏转换原则
  • 类的单根性继承性、传递性、继承时构造函数的问题(:this() , :base())。构造函数不能被继承。
  • 所有类都直接或间接的继承自 object 类

多态
    多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化

虚方法,抽象方法

关于虚方法需要注意的几点

  • 父类中如果有方法需要让子类重写,则可以将该方法标记为virtual
  • 虚方法在父类中必须有实现,哪怕是空实现(意思是必须有方法体)
  • 虚方法子类可以重写(override),也可以不重写

关于抽象方法需要注意的几点

  • 需要用 abstract 关键字标记
  • 抽象方法不能有任何方法实现(不能有方法体)
  • 抽象成员必须包含在抽象类中
  • 由于抽象成员没有任何实现,所以子类必须将抽象成员重写
  • 抽象类不能实例化
  • 抽象类的作用:抽象类的作用就是为了让子类继承
  • 抽象类中可以包括抽象成员,可以包括有具体代码的成员
  • 还有抽象方法不能用 static 修饰

接口

  • 接口中只能包含方法(属性、事件、索引器也都是方法)
  • 接口中的成员都不能有任何实现
  • 接口不能被实例化
  • 接口中的成员不能有任何访问修饰符。(默认为public)
  • 实现接口的子类必须将接口中的所有成员全都实现
  • 子类实现接口的方法是,不需要任何关键字,直接实现即可
  • 接口存在的意义就是为了多态

接口解决了类的多继承问题

以后体积庞大的问题

显式实现接口

小总结

五个访问修饰符

  • private    当前类中可以访问,类中成员的默认访问修饰符
  • protected    当前类及子类中可以访问(在继承中使用)
  • interna    当前程序集内部可以访问
  • protected internal    当前程序集或子类中(不同程序集也可以访问)
  • public    任何地方

字段和属性及索引器

添加引用和导入命名空间

静态类

静态类不能被实例化:abstract

静态类不能被继承:    sealed

sealed关键字,表示不能被继承。(密封类)

来自为知笔记(Wiz)

时间: 2024-10-13 17:19:31

01面向对象强化的相关文章

黑 马 程 序 员_视频学习总结<Objective-C>----01 面向对象思想、类和对象、面向对象方法

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.面向对象 1. 面向对象和面向过程思想区别 OC为面向对象.C为面向过程.实质是解决问题的两种不同的思想.面向过程关注的是步骤,面向对象关注的是解决问题需要的对象. 2. 常用术语 面向过程:Procedure Oriented面向对象:Object Oriented 简称OO面向对象编程:Object OrientedProgrammin

魏兆辉的IOS基础学习笔记之六 OC语言基础-01 面向对象

一听标题,感觉十分的抽象.面向对象就是(Object-Oriented Programming)的首字母缩写:OOP,是当今最主流的编程方法. 那么,面向对象编程具体有什么好处呢.是如何来实现呢?通过下面的实例,我想可以给大家最简单直观的理解了. 好了,下面就来说说我们这篇博文主要要介绍的内容吧.今天,我们通过一个绘制几何图形的实例来介绍基本的面向对象思想. 首先我们,新建一个Command Tools的命令行工具项目,选择Foundation头文件. 1 / 2 // main.m 3 //

01 面向对象的三条主线

面向对象的三条主线: 1.类及类的成分 2.面向对象的三大特性 3.其他的关键字:this super import package abstract static final interface等 1.java程序是关注于类的设计.类从代码的角度:并列关系!   从执行.设计的角度:关联关系.继承关系.聚合关系 class A{ } class B{ A  a = new A(); } 2.类的成分:属性   方法  构造器  代码块  内部类 2.1 属性:①变量的分类:成员变量(属性 Fi

(一)Python入门-6面向对象编程:01面向对象和面向过程区别-对象的进化

面向对象: 面向对象(Object oriented Programming,OOP)编程的思想主要是针对大型 软件设计而来的.面向对象编程使程序的扩展性更强.可读性更好,使的编程可以像搭 积木一样简单. 面向对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据的方式 更加接近人的思维,从而大大提高了编程的效率. Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向 对象的基本功能,例如:继承.多态.封装等. Python中,一切皆对象.我们在前面学习的数据类型

01.面向对象的概念

(1)类是抽象的概念,仅仅是模板,比如说:"人"类. (2)对象是一个你能够看得到,摸得着的具体实体. (3).类不占内存,对象才会占内存. (4).类是模子,确定对象将会拥有的特征(属性)和行为(方法). 类的定义: 类的定义语法: [访问修饰符]class 类名 { 成员; ... } (1)类中可以包含变量的定义,方法. 类的实例化; 语法: 类 实例名=new 类(); 类的成员访问: 实例名.属性; 实例名.方法名(); 写好了一个类之后,我们需要创建这个类的对象(在同一个命

面向对象(笔记整理)

面向对象 一.什么是面向对象 * 面向对象的定义: - 在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的   联系,这种思想就是面向对象. * 对象: - 在现实生活中存在的具体的一个事物. * 类: - 实际就是对某种类型事物的公共属性与行为的抽取.(类是一个抽象的概念,就相当   于图纸) * 对象与类的关系: - 类时对象的模板 - 汽车图纸 - 对象是类的实例 - 各种汽车 * 面向对象的核心思想: - 找适合的对象做适合的事. * 面向对象的三大特征: - 1. 封装

0505.Net基础班第九天(面向对象处级)

1.面向过程-----> 面向对象 面向过程:面向的是完成这件事儿的过程,强调的是完成这件事儿的动作. 把大象塞进冰箱里 1.打开冰箱门 2.把大象塞进去,亲下大象的屁股 3.关闭冰箱门 孙全 瘦小 矮  小屌丝 孙全踩着小板凳打开冰箱门 孙全找翟盼盼帮忙把大象塞进冰箱里,孙全踩着板凳去亲. 孙全踩着板凳关闭冰箱门 翟盼盼  190cm  非常大力气 1.翟自己就能打开冰箱门 2.翟自己将大象塞进冰箱里,翟可以自己亲一下. 3.翟自己关闭冰箱门 如果我们用面向过程的思想来解决这件事儿,当执行这件

Asp.Net 初级 高级 学习笔记

本文并非作者原创,但是作者发表! 不知道十年后,会用多少人收益我的文章,哈哈! 各位,来加个关注![注*]改文章总结了ASP.Net从入门到高级的知识! 朱磊:2012 - 0212 -------------- [朱磊是本文的原创大神,据说当年在黑马刚毕业,月薪税前1W]-------------01.Main函数是什么?在程序中使用Main函数有什么需要注意的地方?02.CLR是什么?程序集是什么?当运行一个程序集的时候,CLR做了什么事情?03.值类型的默认值是什么?(情况一:字段或全局静

0505.Net基础班第二十天(基础加强总复习)

1.new关键字 1).创建对象 2).隐藏从父类那里继承过来的成员 2.访问修饰符 public:公开的,公共的 private:私有的,只能在当前类的内部访问,类中成员们,如果不加访问修饰符,默认就是private procteced:受保护的,可以在当前类的内部访问,也可以在该类的子类中访问 internal:在当前项目中都可以访问. protected internal: 能够修饰类的访问修饰符只有两个,internal和public 3.常用的关键字 this 1.当前类的对象 2.调