OC学习--类和对象的关系】的更多相关文章

1. 如何创建对象 面向对象解决问题的时候必须有对象, 那应该如何创建对象? 以建造汽车为例子来解释: >建造汽车需要造车图纸, 图纸上 清楚的描述出 汽车具备的属性和功能(行为) >属性:  车轮数   时速   灯光 >功能(行为):  跑   加减速度   开关灯 >然后再根据图纸(类)建造汽车(对象) 每一辆 汽车 都是对象, 都有自己具体的属性值, 都是图纸(类)的实例(对象). 图纸是抽象的, 汽车是具体的, 图纸是对 汽车对象的高度概括. OC中的类相当于图纸, 用来…
在学习面向对象之前首先我们要理解一下几点: 什么是面向对象 对象的概念 类 类与对象的关系/区别 什么是对象的属性 什么是对象的方法 什么是面向对象.对象.类 讲到面向对象就不得提到面向过程,早期的计算机编程是基于面向过程的方法,例如实现两个数的加法运算(1+1=2),我们可以通过一个算法就可以解决这个问题.但是随着计算机技术的不断提高,我们遇到的问题解决起来越来越复杂,所以我们可以通过面向对象的方式,更利于用人理解的方式对复杂系统进行分析.设计与编程. 面向过程就是分析出解决问题多需要的步骤,…
php课程 11-37 类和对象的关系是什么 一.总结 一句话总结:类生成对象,对象是类的实例化,一定是先有类,后有对象,一定是先有标准,再有个体. 1.oop的三大优势是什么? 重用性,灵活性.扩展性 二.类和对象的关系是什么 1.相关知识 1.概念2.继承3.封装4.实例:分页类5.实例:数据库操作类6.抽象类7.接口8.多态9.魔术方法10.关键字 OOP定义:Object-Oriented Programming #面向对象编程 软件工程三大目标:重用性.灵活性.扩展性 面向对象的三大特…
Java面向对象(概述,构造函数,类与对象的关系,this关键字,成员.局部),匿名对象的帝爱用,构造代码块(5)…
这一节我们来看一下类与对象之间的关系. 我们学习java语言,目的就是用java语言对现实生活中的事物进行描写叙述.那么我们如何来描写叙述呢.这就引出了类,我们在实际实现时,是通过类的形式来体现的. 那么对于现实生活中的事物怎样描写叙述呢? 我们在现实生活中对于事物描写叙述通常仅仅关注两个方面,一个是属性,还有一个就是行为. 那么非常自然.计算机的描写叙述就产生出详细的对象. 比方我们要描写叙述一个小汽车.那么我们要怎么描写叙述呢?通过上面关注两个方面,我们非常轻松的从两个方面进行下面描写叙述:…
1.类和对象 类是抽象化,对象是具体化. (1)定义类: 分为两个步骤,类的声明:定义类的成员变量和方法:@interface 用于声明定义类的接口部分,@end表面定义结束:. 成员变量的定义:{}用于声明该类的成员变量:语法:基本类型 成员变量名: 方法的定义:语法:方法类型标识符(+表示类方法,-表示实例方法)(方法返回值类型)方法签名关键字:(参数类型)(参数名) 方法签名关键字:方法名,形参标签,冒号. (所有方法必须用括号括起来)   类的实现:实现类定义的方法.(在类的接口部分没有…
OC:Objective-c     面向对象的c语言,简称obj-c或者OC OC和C的区别 1.OC是C语言的超集,OC是在C语言的基础上结合smalltalk的优点,开发出来的语言.oc兼容所有的C语言的语法. 2.OC扩展了面向对象的思想. 3.运行时特性 4.有丰富的类库 OOP(Object Oriented Programming)面向对象编程. 关键点;对象.类.多态.封装.继承等. OC的核心:类和对象. OC的三大特性:封装.继承.多态. 类:具有相同特征和行为的事物的抽象.…
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来.这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写.改写代码.在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路. 一定要明确一个要从事的方向,要不然就会感到迷茫.学习ios开发,并且从事ios开发这个行业,这就是我的选择.看到我的博客系列文章,其中大…
我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这也是面向对象的三大特征.OC学习篇之---类的三大特性(封装,继承,多态) 1.封装(Encapsulation)是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问(该隐藏的隐藏,该暴露的暴露).封装的主要目的是: 隐藏类的实现细节 让使用者只能通过预先定义好的方法来访问数据,从而可以在该方法中加入控制逻辑,限制对成员变量的不合理访问 可进行数据检查,从而有…
继承.实现.依赖.关联.聚合.组合的联系与区别 下面的内容很基础,同时也很简单,但是也很重要. 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性:  实现 指的是一个class类实现interface接口(可以是多个)的功能:实现是类与接口之间最常见的关系:在Java中此类关系通过关键字implements明确标…
4.5 如果类包含另一个类的对象,那么包含类应当向被包含的对象发送消息(调用方法).  也就是说,所有的包含关系都应当是使用关系. 如果不是这样,那么包含的类有什么用处呢?当然,面向过程的开发人员会想到可能有一个Get方法供其它类使用这个包含的对象,那么按照“数据隐藏原则”,为什么 不让使用包含类的类直接包含被包含的这个对象呢? 包含一个对象一定是需要使用它才包含. 比如说汽车包含了发动机,如果违背这条原则的话则定义如下: class 汽车 { 发动机 m_发动机; 发动机 Get发动机(){r…
一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类和对象 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的划分中,一般…
一.  定义OC的类和创建OC的对象 接下来就在OC中模拟现实生活中的情况,创建一辆车出来.首先要有一个车子类,然后再利用车子类创建车子对象 要描述OC中的类稍微麻烦一点,分2大步骤:类的声明.类的实现(定义).跟函数类似,函数有分声明和定义 1.     类的声明 1)       代码编写 定义一个Car类,拥有2个属性:轮子数.时速,1个行为:跑 类名\属性的命名规则:标示符的规则 类名的命名规范:有意义.驼峰标识.首字母大写 #import <Foundation/Foundation.…
Classes and objects(类和对象) 类(或者类类型)定义了一个结构,它包括字段(也称为域).方法和属性:类的实例叫做对象:类的字段.方法和属性被称为它的部件(components)或成员.• 字段在本质上是一个对象的变量.和记录的字段类似,类的字段表示一个类实例的数据项:• 方法是一个过程或者函数,它和类相关联.绝大多数方法作用在对象(也就是类的实例)上,其它一些方法(称为类方法)作用在类上面.• 属性被看作是访问对象的数据的接口,对象的数据通常用字段来存储.属性有存取设定,它决…
OC与C语言相比,体现的是一种面向对象的思想.OC完全兼容C语言 OC中大多数类前面都有前缀NS,来源于乔布斯NextStep团队,被苹果收购后保留了所有基本语法,合并到Foundation中 OC语言以.m为文件后缀 OC中绝对多数类继承自 NSObject  OC是单继承(可以使用协议来达到多继承的效果) 一.关键字 @ 格式化为对象 @"Hello, World!"  为字符串对象 @[@"123",@"234"]; 数组 @selecto…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数.时速,1个行为:跑 ②类名\属性的命名规则:标示符的规则 ③类名的命名规范:有意义.驼峰标识.首字母大写 @interface Car : NSObject { @public int wheels; // 多少个轮子 int speed; // 时速 } - (void)run; // 跑的行为…
4.9 在实现语义约束时,最好根据类定义来实现.但是这经常会导致泛滥成灾的类,在这种情况下约束应当在类的行为中实现,通常在类的构造函数中实现,但不是必须如此. 还是以汽车为例,我们看汽车的定义,为了集中注意力,先只关心汽车的发动机 class 汽车 { 汽车(发动机 para) { m_发动机=para; } 发动机 m_发动机; } class 发动机{...} 我们可以定义奥迪A6,凯梅瑞等等汽车 class 奥迪A6:汽车{......} class 凯梅瑞:汽车{......} 同样我们…
使用关系 对象A的方法MethodA使用了B的方法MethodB,则表示A对B存在使用关系 使用关系的最关键问题在于,A如何找到B,存在6种方案 方案一: A包含了B,B作为一个成员定义在A的类中,那么在MethodA中可以直接调用B.MethodB() 如汽车可以包含车轮. 如果汽车需要加油,那么就需要调用"加油站B.加油()" class 汽车 { 加油站 m_加油站; 加油(...) { //调用某加油站的加油方法 m_加油站.加油(); } } 那么关键问题在于,汽车如何知道加…
在前一篇文章中我们说到了如何解决对象的循环引用问题:http://blog.csdn.net/jiangwei0910410003/article/details/41926369,这一篇文章我们就来介绍一下OC中的对象拷贝概念,这个对于面向对象语言中都会有这种的问题,只是不同的语言有不同的解决方式:C++中有拷贝构造函数,Java中需要实现Cloneable接口,在clone方法中进行操作.但是不过OC更偏向于Java这种方式,OC中如果一个对象需要被拷贝,他需要实现协议: <NSCopyin…
4.7 类包含的对象数目不应当超过开发者短期记忆数量,这个数目通常应该是6左右 4.8 让系统在窄而深的包含体系中垂直分布 假设有如下两份菜单: 正餐 --->甜瓜 --->牛排 --->土豆 --->豌豆 --->玉米 --->馅饼 或者 正餐 --->甜瓜 --->牛排套餐 --->牛排 --->配菜--->豌豆 --->土豆 --->玉米 --->馅饼 对使用者来说,哪种更科学呢? 回答1或者回答2都是错的,面向对象…
4.6 尽量让类中定义的每个方法尽可能多地使用包含的对象(即数据成员) 这其实就是高内聚的翻版强调.如果每个类的情况并非如此,那很可能是这一个类表示了两个或更多的概念,记住一个类只应该表示一个概念. 最明显的情况就是类的一半方法使用了一半的数据成员,而另一半方法使用了另一半的数据成员,那么这个类就应该一分为二. 我们假设一个澡堂,有VIP客户和普通客户,各自有不同的服务(普通客户享受中专生服务,VIP客户享受大学生服务),则定义如下: class 澡堂 { stack<中专生> 普通服务员;…
类 / 对象 [<快学Scala>笔记] 一.类 1.Scala中的类是公有可见性的,且多个类可以包含在同一个源文件中: class Counter{ private var value = 0 //类成员变量必须初始化,否则报错 def increment(){ //类中的方法默认是公有可见性 value += 1 } def current() = value //对于类中的“取值方法”,在定义时可省略掉括号,直接 def current = value } Scala类的使用: Scal…
每个具体的对象后面都隐藏着抽象的类. flash 中as3.0中所有的类,都是为了创建对象所用的.反过来,所创建的任何具体对象都隐藏着抽象的类. 类可以把它看做函数,类的属性是函数的数据,类的方法是函数的语句代码.…
//import java.util.Scanner; //创建一个类 class Person{ //属性和方法的定义不是必须的 //属性 String name ; int age ; //方法 public void tell(){ System.out.println("姓名"+name+" 年龄 "+age); } } public class HelloWorld { public static void main(String[] args){ //创…
4.1 尽量减少类的协作的数量,即减少使用者和被使用者的数量. 协作意味着一定程度的耦合,但是完全没有协作的类也是没有意义的,最多只能作为一个库使用. 通过抽象,依赖接口,可以最大程度减少依赖的实现类,对使用者来说,只看到接口的依赖,而具体的实现的依赖可以通后后期绑定来配置依赖关系. 如 菜单 ----〉牛肉 ----〉羊肉 ----〉鸡肉       可以抽象为 菜单---->肉类 <===牛肉                       <===羊肉                 …
类是对某一类事物的描述,是抽象的.概念上的意义.对象是实际存在的该类事物的每一个个体,也被称为实例. 创建对象:包括声明对象和实例化对象 Person person;//声明 person = new Person();//实例化 创建对象内存划分 1.声明开辟一个栈空间 2.实例化开辟一个堆内存空间 3.声明指向实例化:栈空间的person指向堆空间的实例化…
类不占内存,对象占内存…
1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ 播放电脑中的歌曲 ➢ 关闭电脑 b) 面向对象(不是相亲的“对象”) ➢ 电脑    ◇ 开机    ◇ 播放歌曲    ◇ 关机 2) 区别分析 ➢ 面向过程关注的是解决问题需要哪些步骤:面向对象关注的是解决问题需要哪些对象 ➢ 没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,…
知识点 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们先来简单的了解下面向对象的一些基本特征. 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的…