我正在研究AngularUI项目。我阅读了有关状态,嵌套状态和抽象状态的所有信息。问题是我不明白为什么以及何时应该使用抽象状态?
抽象状态确实意味着您编写的状态不能直接访问。抽象状态仍然需要自己的子项才能插入。
当我们加载其孩子的状态时,它将被调用。您可以使用抽象状态来定义页面的某些初始模式,假设您可以举一个任何社交媒体网站的示例,您希望在该网站上显示用户个人资料和社交页面。为此,您可以具有一种abstract
状态,该状态将具有url: ""
&具有页面的基本布局。像header
,content
及footer
命名的视图。header
&footer
命名视图将由抽象状态填充,然后child将定义内容取决于所显示的模块。/profile
将显示userProfile.html
&/social
将显示用户的社交页面social.html
。
设定档
app.config(function($stateProvider){
$stateProvider.state("app":
{
url: "", //you can have the default url here..that will shown before child state url
abstract: true,
views: {
'': {
templateUrl: 'layout.html',
controller: 'mainCtrl'
},
'header': {
templateUrl: 'header.html'
},
'footer': {
templateUrl: 'footer.html'
}
},
resolve: {
getUserAuthData: function(userService){
return userService.getUserData();
}
}
})
.state("app.profile": {
'content@app': {
templateUrl: 'profile.html',
controller: 'profileController'
}
})
.state("app.social": {
'content@app': {
templateUrl: 'social.html',
controller: 'socialController'
}
})
})
的其他主要功能abstract
是您可以拥有共同的决心,通过子状态或事件侦听器使用的数据提供继承的自定义数据。另外,您还可以在OnEnter
&OnExit
上进行&确认,然后再加载state
&离开state
问题内容: 我对 抽象类 及其使用有一些疑问。我了解有关它们的基础知识;例如,它们不能被实例化,它们可以具有具体和抽象的方法,…但是我想我想知道的是, 它们在生命中(在软件工程中)起什么作用? Java中抽象类的目的是什么?为什么和何时应该使用Abstract类?如果可以使用普通的类然后继承它,为什么还要继承一个抽象类?使用抽象类如何使我们的生活更轻松?它会提供更好的可维护性吗?更灵活?… 顺便说
问题内容: 目前,我正在阅读“ Java并发实践”,其中包含以下句子: 由于线程访问无状态对象的操作不会影响其他线程上操作的正确性,因此无状态对象是线程安全的。 那么,什么是无状态对象? 问题答案: 无状态对象是没有实例字段(实例变量)的类的实例。该类 可能 具有字段,但是它们是编译时常量(静态final)。 一个非常相关的术语是 不可变的 。不可变的对象可能具有状态,但是在调用方法时状态不会改变
问题内容: 为什么Object类是Java中em的基类,而不是抽象类? 我已经有很长时间了,这个问题纯粹是出于好奇,仅此而已。我的代码或任何人的代码都没有中断,因为它不是抽象的,但是我想知道为什么他们将其具体化了? 为什么有人要这个Object类的“实例”(而不是引用的存在)?一种情况是糟糕的同步代码,该代码使用对象的实例进行锁定(至少我曾经以这种方式使用过一次……我的错)。 对象类的“实例”是否
问题内容: 什么是Java中的“抽象类”? 问题答案: 抽象类是无法实例化的类。通过创建可以实例化的继承子类来使用抽象类。抽象类为继承的子类做一些事情: 定义继承子类可以使用的方法。 定义继承子类必须实现的抽象方法。 提供一个公共接口,该接口允许子类与所有其他子类互换。 这是一个例子: 请注意,“ abstractMethod()”没有任何方法主体。因此,你不能执行以下操作: 没有实现的方法!因此
问题内容: 什么是PHP中的抽象类? 如何使用? 问题答案: 抽象类是至少包含一个抽象方法的类,该方法中没有任何实际代码,只是名称和参数,并且已标记为“抽象”。 这样做的目的是提供一种模板,以从其继承并强制继承类实现抽象方法。 因此,抽象类介于常规类和纯接口之间。接口也是抽象类的特殊情况,其中所有方法都是抽象的。 有关更多参考,请参见PHP手册的这一部分。
问题内容: 我现在正在学习Java,并且是Abstract的一部分。我读到一个奇怪的部分,我有一个抽象类,其中不包含任何abstarct方法。 他们为什么要使用此类课程? 问题答案: 为了防止实例化该类并将其仅用作基类。子类可以使用抽象类中定义的常规方法。 例如,创建的实例没有任何意义。但是所有车辆都可以重复使用一种通用方法。